From 6cbdc8c8b7160c37f91501ce8fc0db3b397ed0ea Mon Sep 17 00:00:00 2001 From: tcoyvwac <53616399+tcoyvwac@users.noreply.github.com> Date: Wed, 16 Mar 2022 11:32:01 +0100 Subject: [PATCH] Common: Prefer pre-built array-form to assign values. GL/ContextEGL.cpp: Replace raw-index manipulation / arithmetic as logic. Now a variable-length array. --- common/GL/ContextEGL.cpp | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/common/GL/ContextEGL.cpp b/common/GL/ContextEGL.cpp index 19aa8384bb..02f1201753 100644 --- a/common/GL/ContextEGL.cpp +++ b/common/GL/ContextEGL.cpp @@ -285,23 +285,18 @@ namespace GL Console.WriteLn( "Trying version %u.%u (%s)", version.major_version, version.minor_version, version.profile == Context::Profile::ES ? "ES" : (version.profile == Context::Profile::Core ? "Core" : "None")); - int surface_attribs[16]; - int nsurface_attribs = 0; - surface_attribs[nsurface_attribs++] = EGL_RENDERABLE_TYPE; - surface_attribs[nsurface_attribs++] = (version.profile == Profile::ES) ? - ((version.major_version >= 3) ? EGL_OPENGL_ES3_BIT : - ((version.major_version == 2) ? EGL_OPENGL_ES2_BIT : EGL_OPENGL_ES_BIT)) : - EGL_OPENGL_BIT; - surface_attribs[nsurface_attribs++] = EGL_SURFACE_TYPE; - surface_attribs[nsurface_attribs++] = (m_wi.type != WindowInfo::Type::Surfaceless) ? EGL_WINDOW_BIT : 0; - surface_attribs[nsurface_attribs++] = EGL_RED_SIZE; - surface_attribs[nsurface_attribs++] = 8; - surface_attribs[nsurface_attribs++] = EGL_GREEN_SIZE; - surface_attribs[nsurface_attribs++] = 8; - surface_attribs[nsurface_attribs++] = EGL_BLUE_SIZE; - surface_attribs[nsurface_attribs++] = 8; - surface_attribs[nsurface_attribs++] = EGL_NONE; - surface_attribs[nsurface_attribs++] = 0; + + const int renderable_type = version.profile == Profile::ES + ? ((version.major_version >= 3) ? EGL_OPENGL_ES3_BIT : ((version.major_version == 2) ? EGL_OPENGL_ES2_BIT : EGL_OPENGL_ES_BIT)) + : EGL_OPENGL_BIT; + const int surface_attribs[] = { + EGL_RENDERABLE_TYPE, renderable_type, + EGL_SURFACE_TYPE, (m_wi.type != WindowInfo::Type::Surfaceless) ? EGL_WINDOW_BIT : 0, + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_NONE + }; EGLint num_configs; if (!eglChooseConfig(m_display, surface_attribs, nullptr, 0, &num_configs) || num_configs == 0)