Commit Graph

101 Commits (8bccf93300a4fb921fd9b59bf346f6a6b08dfe53)

Author SHA1 Message Date
Oswald Buddenhagen a64cfadaff make the installed meta files play nicely with sysroots
pkg-config .pc files use the raw target paths (and pkg-config patches up
-I and -L flags on the fly), so these files were actually already fine.

libtool .la files use the magic prefix = to denote the sysroot.
this works only with libtool 2.4+ (sept 2010).

qmake .prl files have no built-in sysrootification magic, but as they are
read by qmake, it's possible to put property references into them. this
makes them relocatable, both inside and outside sysroots.

Change-Id: I97236ac81e7aba4e4771d14a44cbf59144cc2d3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-05 14:26:44 +00:00
Kai Koehne 2fe8c06cf1 ANGLE: Disable MSVC warning 4996 for debug builds
Disable compiler warning 4996 about the use of C++ standard
library functions like std::copy:

'std::copy': Function call with parameters that may be unsafe -
this call relies on the caller to check that the passed values are
correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See
documentation on how to use Visual C++ 'Checked Iterators'

Commit 0a76b6bc already silenced the warning in the
general MSVC mkspecs, the flags set there are however overwritten
for ANGLE.

Change-Id: I8f9a84d19171057715a8f9be1e8338e02a6c5ba0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-13 12:59:24 +01:00
Maurice Kalinowski 3466950837 [ANGLE] Fix compilation with MSVC2013 Update4
Update4 provides a native Sleep implementation. Hence the wrapper
needs to be disabled.

Change-Id: I162da45934b02c262ac09b557c66c3363c276e54
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-12-15 09:19:48 +01:00
Kai Koehne 87e9e76d97 ANGLE: Do not use std::strlen
This is a cherry-pick from upstream change

e7cfb3dd2029c1bfe5c175ad994c03cac221ad4d

Change-Id: Iefe01545319f9ad268c0c6bf8e8b2181e09d8a84
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-11 14:39:05 +01:00
Andrew Knight c609a83426 ANGLE: Fix handling of shader source with fixed length
This is a cherry-pick of upstream f60fab6d154f4c9bf599e92976cd8cee7f8633e0
(See https://chromium-review.googlesource.com/231612)

Task-number: QTBUG-42882
Change-Id: I7b4bdc4b68a1b93ff514f09ce35dbf4e9360af9b
Reviewed-by: Marko Kangas <marko.kangas@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-12-03 13:45:00 +01:00
Kai Koehne 155306ffee ANGLE: Fix releasing textures after we kill D3D11
Cherry-pick upstream commit cc4cd2925b9a4f1142a86df131345a861c9d7cd9
to fix crashes on exit.

Task-number: QTBUG-42772
Change-Id: Ib74be17f2b5fdd58f9e0568e1da74ba19e943019
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-24 13:04:38 +01:00
Kai Koehne 40a4e446f3 ANGLE: Fix compilation with D3D9
Fixes a regression introduced in c6df5fe3ed that
broke compilation with d3d9 (namely, -target xp).

Task-number: QTBUG-42714
Change-Id: I1a5e9682d5463bfa082a5d0c062399a131a7cf52
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-17 20:03:39 +01:00
Andrew Knight c6df5fe3ed ANGLE: Upgrade to version 1.2.30d6c255d238
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>
2014-11-14 19:01:38 +01:00
Andrew Knight 311157c3c6 ANGLE: Upgrade to 2.1~abce76206141
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>
2014-09-29 16:09:29 +02:00
Frederik Gladhorn c96426f19f Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-09-24 12:04:52 +02:00
Kai Koehne 06c31bdbec Fix compilation of ANGLE for XP
Fix compilation errors when trying to compile ANGLE with e.g. MSVC2013
targeting XP.

Change-Id: I3238c47e198662c39e2ca0cb0e53153e8f13d442
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-09-23 18:29:23 +02:00
Frederik Gladhorn c5a3e5edd9 Merge remote-tracking branch 'origin/5.3' into 5.4
The isAlwaysAskOption was removed in 3862171315
so manually removed code in
src/plugins/bearer/connman/qconnmanengine.cpp

Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qcollator_macx.cpp
	src/corelib/tools/qstring.cpp
	src/gui/kernel/qwindow.cpp
	src/gui/kernel/qwindow_p.h
	src/gui/text/qtextengine.cpp
	src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
	src/plugins/platforms/android/qandroidinputcontext.cpp
	src/plugins/platforms/xcb/qglxintegration.cpp
	src/plugins/platforms/xcb/qglxintegration.h
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/testlib/qtestcase.cpp
	src/testlib/qtestlog.cpp
	src/widgets/dialogs/qfiledialog.cpp
	src/widgets/kernel/qwindowcontainer.cpp
	tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
	tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp
	tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
	tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp

Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
2014-09-23 11:23:36 +02:00
Oswald Buddenhagen 1da57ecd06 fix bogus library paths in ANGLE prl files
Task-number: QTBUG-41204
Change-Id: I3ddcba23467e7df3a4449c4960972f37810ed323
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-09-15 15:58:03 +02:00
Andrew Knight b858e7af4f windows: Enable ANGLE D3D11 renderer by default
Also, remove the -angle-d3d11 configure option, as it no longer is
necessary to select the renderer at build time.

The D3D11 renderer is the default renderer in upstream ANGLE, and has
been shown to be a more reliable solution for developers running over
remote desktop and inside virtual machines. It also provides more features
to the OpenGL ES implementation.

This configuration switch does not disable the D3D9 render; if the GPU
does not support D3D11, D3D9 is used instead.

[ChangeLog][QtGui][Windows] The ANGLE D3D11 renderer was enabled by
default. Systems which cannot use the new renderer will automatically fall
back to the D3D9 renderer at runtime.

Task-number: QTBUG-41031
Change-Id: If894309c07d9309c236b63c36f37679f74375133
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-09-05 07:39:53 +02:00
Andrew Knight 8f88cc2c0f ANGLE: Fix compilation with MinGW + D3D11
Provide workarounds for things GCC doesn't like, and define a number
of macros not found in the MinGW headers.

Change-Id: I254c208209c0071fae5efb6727f2b3cfd5542da6
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-09-04 15:09:34 +02:00
Andrew Knight ffceaf6213 ANGLE: Fix -angle-d3d11 on MSVC2010
Allow the D3D11 renderer to build with the June 2010 DirectX SDK.

Change-Id: I2343acedab16845d6a0d4a53cf3145f583efc4a7
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-01 14:28:07 +02:00
Andrew Knight 552ac4bcb6 ANGLE: Don't directly link to DirectX 11
These libraries are dynamically loaded on desktop Windows.

Change-Id: I3a0d17a48a3bd4930690d20d387df0d92906662d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-09-01 14:28:06 +02:00
Michael Brüning 6b52e6ead9 Let ANGLE use multithreaded devices if necessary.
This is needed to prevent lock-ups in application that use ANGLE from
multiple threads, as e.g. QtWebEngine based applications do.

The environment variable QT_D3DCREATE_MULTITHREADED is used to
communicate this from the QtWebEngine module.

Change-Id: Ibd5a5c75eb68af567d420d9a35efb3490c93b27c
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
2014-08-28 11:09:55 +02:00
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