From 2506fd5330dbe920836ac442e1b0614a3efc8854 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Thu, 23 May 2019 13:11:53 -0700 Subject: [PATCH] GBA Video: Detect OpenGL ES --- src/gba/renderers/gl.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gba/renderers/gl.c b/src/gba/renderers/gl.c index 73dbeabec..a9721b30d 100644 --- a/src/gba/renderers/gl.c +++ b/src/gba/renderers/gl.c @@ -54,6 +54,9 @@ struct GBAVideoGLUniform { int type; }; +static const GLchar* const _gles3Header = + "#version 300\n"; + static const GLchar* const _gl3Header = "#version 130\n"; @@ -751,8 +754,13 @@ void GBAVideoGLRendererInit(struct GBAVideoRenderer* renderer) { } char log[1024]; - const GLchar* shaderBuffer[8]; - shaderBuffer[0] = _gl3Header; + const GLchar* shaderBuffer[4]; + const GLubyte* version = glGetString(GL_VERSION); + if (strncmp((const char*) version, "OpenGL ES ", strlen("OpenGL ES "))) { + shaderBuffer[0] = _gl3Header; + } else { + shaderBuffer[0] = _gles3Header; + } GLuint vs = glCreateShader(GL_VERTEX_SHADER); shaderBuffer[1] = _vertexShader;