Common: Prefer returning std::array by lambda expression

GL/ContextEGL.cpp:
Replace raw-index manipulation / arithmetic as logic. Variable now using IIFE (Immediately invoked function expression) to strengthen immutability.
This commit is contained in:
tcoyvwac 2022-03-16 11:14:52 +01:00 committed by refractionpcsx2
parent 1a0a0423e7
commit 6e6a70b8ed
1 changed files with 10 additions and 12 deletions

View File

@ -334,17 +334,15 @@ namespace GL
config = configs.front(); config = configs.front();
} }
int attribs[8]; const auto attribs = [version]() -> std::array<int, 8> {
int nattribs = 0; if (version.profile != Profile::NoProfile)
if (version.profile != Profile::NoProfile) return {
{ EGL_CONTEXT_MAJOR_VERSION, version.major_version,
attribs[nattribs++] = EGL_CONTEXT_MAJOR_VERSION; EGL_CONTEXT_MINOR_VERSION, version.minor_version,
attribs[nattribs++] = version.major_version; EGL_NONE
attribs[nattribs++] = EGL_CONTEXT_MINOR_VERSION; };
attribs[nattribs++] = version.minor_version; return {EGL_NONE};
} }();
attribs[nattribs++] = EGL_NONE;
attribs[nattribs++] = 0;
if (!eglBindAPI((version.profile == Profile::ES) ? EGL_OPENGL_ES_API : EGL_OPENGL_API)) if (!eglBindAPI((version.profile == Profile::ES) ? EGL_OPENGL_ES_API : EGL_OPENGL_API))
{ {
@ -352,7 +350,7 @@ namespace GL
return false; return false;
} }
m_context = eglCreateContext(m_display, config.value(), share_context, attribs); m_context = eglCreateContext(m_display, config.value(), share_context, attribs.data());
if (!m_context) if (!m_context)
{ {
Console.Error("eglCreateContext() failed: %d", eglGetError()); Console.Error("eglCreateContext() failed: %d", eglGetError());