From 1643d44dee25c42230747c7059e867905c76a052 Mon Sep 17 00:00:00 2001 From: fincs Date: Fri, 14 Sep 2018 17:23:07 +0200 Subject: [PATCH] OpenGL examples: pass correct context creation configuration --- graphics/opengl/es2gears/source/main.c | 11 ++++++++--- graphics/opengl/lenny/source/main.cpp | 14 +++++++++++--- graphics/opengl/simple_triangle/source/main.cpp | 14 +++++++++++--- graphics/opengl/textured_cube/source/main.cpp | 14 +++++++++++--- 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/graphics/opengl/es2gears/source/main.c b/graphics/opengl/es2gears/source/main.c index dc6595a..cd94b1d 100644 --- a/graphics/opengl/es2gears/source/main.c +++ b/graphics/opengl/es2gears/source/main.c @@ -121,14 +121,14 @@ static bool initEgl() // Get an appropriate EGL framebuffer configuration EGLConfig config; EGLint numConfigs; - static const EGLint attributeList[] = + static const EGLint framebufferAttributeList[] = { EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, EGL_NONE }; - eglChooseConfig(s_display, attributeList, &config, 1, &numConfigs); + eglChooseConfig(s_display, framebufferAttributeList, &config, 1, &numConfigs); if (numConfigs == 0) { TRACE("No config found! error: %d", eglGetError()); @@ -144,7 +144,12 @@ static bool initEgl() } // Create an EGL rendering context - s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, NULL); + static const EGLint contextAttributeList[] = + { + EGL_CONTEXT_CLIENT_VERSION, 2, // request OpenGL ES 2.x + EGL_NONE + }; + s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, contextAttributeList); if (!s_context) { TRACE("Context creation failed! error: %d", eglGetError()); diff --git a/graphics/opengl/lenny/source/main.cpp b/graphics/opengl/lenny/source/main.cpp index 7a8ad20..5a7a032 100644 --- a/graphics/opengl/lenny/source/main.cpp +++ b/graphics/opengl/lenny/source/main.cpp @@ -4,6 +4,7 @@ #include #include // EGL library +#include // EGL extensions #include // glad library (OpenGL loader) // GLM headers @@ -96,14 +97,14 @@ static bool initEgl() // Get an appropriate EGL framebuffer configuration EGLConfig config; EGLint numConfigs; - static const EGLint attributeList[] = + static const EGLint framebufferAttributeList[] = { EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, EGL_NONE }; - eglChooseConfig(s_display, attributeList, &config, 1, &numConfigs); + eglChooseConfig(s_display, framebufferAttributeList, &config, 1, &numConfigs); if (numConfigs == 0) { TRACE("No config found! error: %d", eglGetError()); @@ -119,7 +120,14 @@ static bool initEgl() } // Create an EGL rendering context - s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, nullptr); + static const EGLint contextAttributeList[] = + { + EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, + EGL_CONTEXT_MAJOR_VERSION_KHR, 4, + EGL_CONTEXT_MINOR_VERSION_KHR, 3, + EGL_NONE + }; + s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, contextAttributeList); if (!s_context) { TRACE("Context creation failed! error: %d", eglGetError()); diff --git a/graphics/opengl/simple_triangle/source/main.cpp b/graphics/opengl/simple_triangle/source/main.cpp index 80f697e..0d08418 100644 --- a/graphics/opengl/simple_triangle/source/main.cpp +++ b/graphics/opengl/simple_triangle/source/main.cpp @@ -4,6 +4,7 @@ #include #include // EGL library +#include // EGL extensions #include // glad library (OpenGL loader) //----------------------------------------------------------------------------- @@ -83,14 +84,14 @@ static bool initEgl() // Get an appropriate EGL framebuffer configuration EGLConfig config; EGLint numConfigs; - static const EGLint attributeList[] = + static const EGLint framebufferAttributeList[] = { EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, EGL_NONE }; - eglChooseConfig(s_display, attributeList, &config, 1, &numConfigs); + eglChooseConfig(s_display, framebufferAttributeList, &config, 1, &numConfigs); if (numConfigs == 0) { TRACE("No config found! error: %d", eglGetError()); @@ -106,7 +107,14 @@ static bool initEgl() } // Create an EGL rendering context - s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, nullptr); + static const EGLint contextAttributeList[] = + { + EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, + EGL_CONTEXT_MAJOR_VERSION_KHR, 4, + EGL_CONTEXT_MINOR_VERSION_KHR, 3, + EGL_NONE + }; + s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, contextAttributeList); if (!s_context) { TRACE("Context creation failed! error: %d", eglGetError()); diff --git a/graphics/opengl/textured_cube/source/main.cpp b/graphics/opengl/textured_cube/source/main.cpp index 46e6093..53c402a 100644 --- a/graphics/opengl/textured_cube/source/main.cpp +++ b/graphics/opengl/textured_cube/source/main.cpp @@ -4,6 +4,7 @@ #include #include // EGL library +#include // EGL extensions #include // glad library (OpenGL loader) // GLM headers @@ -96,14 +97,14 @@ static bool initEgl() // Get an appropriate EGL framebuffer configuration EGLConfig config; EGLint numConfigs; - static const EGLint attributeList[] = + static const EGLint framebufferAttributeList[] = { EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, EGL_NONE }; - eglChooseConfig(s_display, attributeList, &config, 1, &numConfigs); + eglChooseConfig(s_display, framebufferAttributeList, &config, 1, &numConfigs); if (numConfigs == 0) { TRACE("No config found! error: %d", eglGetError()); @@ -119,7 +120,14 @@ static bool initEgl() } // Create an EGL rendering context - s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, nullptr); + static const EGLint contextAttributeList[] = + { + EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, + EGL_CONTEXT_MAJOR_VERSION_KHR, 4, + EGL_CONTEXT_MINOR_VERSION_KHR, 3, + EGL_NONE + }; + s_context = eglCreateContext(s_display, config, EGL_NO_CONTEXT, contextAttributeList); if (!s_context) { TRACE("Context creation failed! error: %d", eglGetError());