Handle parsing of GL_VERSION as reported by Nexus 6

The Nexus 6 device reports a GL_VERSION which is strictly not conformant
to what is expected from GL_VERSION, so a check is added for this case so
that it correctly detects the right OpenGL ES version.

Change-Id: I00297dd7c1e505dd7f9ab8a7fa480f514162b488
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
This commit is contained in:
Andy Shaw 2015-04-30 15:09:59 +02:00
parent 3545ef4121
commit a1ada382ff

View File

@ -121,6 +121,10 @@ bool QPlatformOpenGLContext::parseOpenGLVersion(const QByteArray &versionString,
if (versionParts.size() >= 2) { if (versionParts.size() >= 2) {
major = versionParts.at(0).toInt(&majorOk); major = versionParts.at(0).toInt(&majorOk);
minor = versionParts.at(1).toInt(&minorOk); minor = versionParts.at(1).toInt(&minorOk);
// Nexus 6 has "OpenGL ES 3.0V@95.0 (GIT@I86da836d38)"
if (!minorOk)
if (int idx = versionParts.at(1).indexOf('V'))
minor = versionParts.at(1).left(idx).toInt(&minorOk);
} else { } else {
qWarning("Unrecognized OpenGL ES version"); qWarning("Unrecognized OpenGL ES version");
} }