diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-04-03 19:57:09 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-08 11:35:44 +0200 |
commit | 710ad8ce1bd5d01ce048851d210ac3831ca17dde (patch) | |
tree | bb3f645e57a7887341113275c9caa2583f7e2dfa /tools/configure | |
parent | 8307ab784eb4d8d22441ee61f02cb381684ca3a2 (diff) |
Upgrade ANGLE to DX11 Proto
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>
Diffstat (limited to 'tools/configure')
-rw-r--r-- | tools/configure/configureapp.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 9ad7e8a91d..dc11c0d0a2 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -566,6 +566,9 @@ void Configure::parseCmdLine() else if (configCmdLine.at(i) == "-angle") { dictionary[ "ANGLE" ] = "yes"; dictionary[ "ANGLE_FROM" ] = "commandline"; + } else if (configCmdLine.at(i) == "-angle-d3d11") { + dictionary[ "ANGLE" ] = "d3d11"; + dictionary[ "ANGLE_FROM" ] = "commandline"; } else if (configCmdLine.at(i) == "-no-angle") { dictionary[ "ANGLE" ] = "no"; dictionary[ "ANGLE_FROM" ] = "commandline"; @@ -1838,6 +1841,7 @@ bool Configure::displayHelp() } desc("ANGLE", "yes", "-angle", "Use the ANGLE implementation of OpenGL ES 2.0."); + desc("ANGLE", "d3d11", "-angle-d3d11", "Use the Direct3D 11-based ANGLE implementation of OpenGL ES 2.0."); desc("ANGLE", "no", "-no-angle", "Do not use ANGLE.\nSee http://code.google.com/p/angleproject/\n"); #endif // Qt\Windows only options go below here -------------------------------------------------------------------------------- @@ -2038,7 +2042,7 @@ bool Configure::checkAngleAvailability(QString *errorMessage /* = 0 */) const } } - const QString directXLibrary = QStringLiteral("d3d9.lib"); + const QString directXLibrary = dictionary["ANGLE"] == "d3d11" ? QStringLiteral("d3d11.lib") : QStringLiteral("d3d9.lib"); if (!findFile(directXLibrary)) { if (errorMessage) *errorMessage = QString::fromLatin1("The library '%1' could not be found.").arg(directXLibrary); @@ -2368,7 +2372,7 @@ bool Configure::verifyConfiguration() } // -angle given on command line, but Direct X cannot be found. - if (dictionary["ANGLE"] == "yes") { + if (dictionary["ANGLE"] != "no") { QString errorMessage; if (!checkAngleAvailability(&errorMessage)) { cout << "WARNING: ANGLE specified, but the DirectX SDK could not be detected:" << endl @@ -2505,8 +2509,11 @@ void Configure::generateOutputVars() qtConfig += "icu"; // ANGLE -------------------------------------------------------- - if (dictionary[ "ANGLE" ] == "yes") + if (dictionary[ "ANGLE" ] != "no") { qtConfig += "angle"; + if (dictionary[ "ANGLE" ] == "d3d11") + qmakeConfig += "angle_d3d11"; + } // Image formates ----------------------------------------------- if (dictionary[ "GIF" ] == "no") |