[Development] ANGLE upgrade plans for 5.6/5.7
Andrew Knight
andrew.knight at intopalo.com
Mon Sep 21 11:50:26 CEST 2015
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
More information about the Development
mailing list