Hello, tl;dr: I propose that the copy of ANGLE currently in the 5.6 branch of qtbase be maintained without being upgraded for the next minor release of Qt (5.6). For Qt 5.7 and beyond, we should upgrade ANGLE from upstream while dropping support for VS2010 and VS2012.
Around each minor Qt release someone (usually me) updates the third-party ANGLE sources in qtbase. The last time this happened was for Qt 5.5, imported from Chromium branch 2356, dated 01 April 2015. Since then (and including a good chunk of code up to that commit), the Chromium project has adopted C++11 and C99 usage in its codebase (due to switching to VS2013 as the minimum Microsoft compiler). That means a great deal of code no longer builds with older VS versions, and we already patched ANGLE for VS2010/VS2012 in Qt 5.5 to deal with some of these issues. Due to the invasiveness and backward thinking of such patches, they will not be accepted upstream. Since then, the amount of such required changes to upstream ANGLE has exploded; the upkeep required here is truly non-trivial. Therefore, I now propose that we *do not* upgrade ANGLE for 5.6. Post-5.6, we will no longer apply patches to support older compilers. The version in Qt 5.6 will be maintained as any other third-party library in Qt (receiving patches as needed), while Qt 5.7 will only support VS2013 and newer (as well as recent versions of MinGW, but that is tangential to this discussion). As Qt 5.7 will already drop support for VS2010, I believe the only supported compiler this affects is VS2012. This compiler is supported for Windows Embedded purposes, a platform which does not use ANGLE anyway (see opengl.prf for details; a WinCE SDK normally provides its own GL stack). For keeping VS2012 Desktop binaries building, we will need to forcefully disable ANGLE for that compiler. I think this is a fair trade-off, and one which has already has a precedent set by Qt WebEngine. Now is the time to speak up (I'm looking at you, Windows and WinCE maintainers) if there is something wrong with the above proposal. Of course, inaction will probably lead to the same result: ANGLE will not be upgraded for 5.6, and we can revisit the issue nearer to the 5.7 release when it's time to upgrade again. That said, any ANGLE-specific bugs can be assigned to me and I will do my best to fix them or back-port the relevant changes from upstream as needed. Cheers, Andrew _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
