[kwinglutils] Init glVersion on gles
The glVersion was not set at all for gles causing any code doing a hasGLVersion check to fail which means that the compositor doesn't start at all, because it has a hasGLVersion(2, 0) check. The complete ifdef is no longer needed. The used additional glGetStringi is also available in gles 3.0, thus epoxy can handle it quite well without a need for ifdef. Unfortunately the version string can be "strange" on GLES. On desktop it looks like: "3.0 some driver foo", on GLES it could also be: "OpenGL ES 3.0 some driver bar". Thus to make the logic work we are first removing any leading "OpenGL ES " and hope that then the version is encoded just like on GL.
This commit is contained in:
parent
2a8d7664b3
commit
713c6b25dc
1 changed files with 3 additions and 3 deletions
|
@ -106,11 +106,12 @@ void initGL(OpenGLPlatformInterface platformInterface)
|
|||
{
|
||||
// Get OpenGL version
|
||||
QString glversionstring = QString::fromUtf8((const char*)glGetString(GL_VERSION));
|
||||
if (glversionstring.startsWith(QLatin1String("OpenGL ES "))) {
|
||||
glversionstring = glversionstring.mid(10);
|
||||
}
|
||||
QStringList glversioninfo = glversionstring.left(glversionstring.indexOf(QStringLiteral(" "))).split(QStringLiteral("."));
|
||||
while (glversioninfo.count() < 3)
|
||||
glversioninfo << QStringLiteral("0");
|
||||
|
||||
#ifndef KWIN_HAVE_OPENGLES
|
||||
glVersion = MAKE_GL_VERSION(glversioninfo[0].toInt(), glversioninfo[1].toInt(), glversioninfo[2].toInt());
|
||||
|
||||
// Get list of supported OpenGL extensions
|
||||
|
@ -123,7 +124,6 @@ void initGL(OpenGLPlatformInterface platformInterface)
|
|||
glExtensions << name;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
glExtensions = QByteArray((const char*)glGetString(GL_EXTENSIONS)).split(' ');
|
||||
|
||||
// handle OpenGL extensions functions
|
||||
|
|
Loading…
Reference in a new issue