[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