mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-16 11:06:49 +01:00
SDL_EGL_ChooseConfig: cleanups and minor optimizations.
- Move an immutable condition out of a for loop. - Add a break statement to that loop when we find what we're looking for. - Add an assert to make sure we don't overflow a buffer. - Wrap a single-statement if block in braces. - Adjust some whitespace.
This commit is contained in:
parent
7d02248cf5
commit
4abe34461f
@ -692,9 +692,9 @@ static void dumpconfig(_THIS, EGLConfig config)
|
|||||||
#endif /* DUMP_EGL_CONFIG */
|
#endif /* DUMP_EGL_CONFIG */
|
||||||
|
|
||||||
int
|
int
|
||||||
SDL_EGL_ChooseConfig(_THIS)
|
SDL_EGL_ChooseConfig(_THIS)
|
||||||
{
|
{
|
||||||
/* 64 seems nice. */
|
/* 64 seems nice. */
|
||||||
EGLint attribs[64];
|
EGLint attribs[64];
|
||||||
EGLint found_configs = 0, value;
|
EGLint found_configs = 0, value;
|
||||||
/* 128 seems even nicer here */
|
/* 128 seems even nicer here */
|
||||||
@ -706,7 +706,7 @@ SDL_EGL_ChooseConfig(_THIS)
|
|||||||
/* The EGL library wasn't loaded, SDL_GetError() should have info */
|
/* The EGL library wasn't loaded, SDL_GetError() should have info */
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get a valid EGL configuration */
|
/* Get a valid EGL configuration */
|
||||||
i = 0;
|
i = 0;
|
||||||
attribs[i++] = EGL_RED_SIZE;
|
attribs[i++] = EGL_RED_SIZE;
|
||||||
@ -775,6 +775,8 @@ SDL_EGL_ChooseConfig(_THIS)
|
|||||||
|
|
||||||
attribs[i++] = EGL_NONE;
|
attribs[i++] = EGL_NONE;
|
||||||
|
|
||||||
|
SDL_assert(i < SDL_arraysize(attribs));
|
||||||
|
|
||||||
if (_this->egl_data->eglChooseConfig(_this->egl_data->egl_display,
|
if (_this->egl_data->eglChooseConfig(_this->egl_data->egl_display,
|
||||||
attribs,
|
attribs,
|
||||||
configs, SDL_arraysize(configs),
|
configs, SDL_arraysize(configs),
|
||||||
@ -784,15 +786,17 @@ SDL_EGL_ChooseConfig(_THIS)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* first ensure that a found config has a matching format, or the function will fall through. */
|
/* first ensure that a found config has a matching format, or the function will fall through. */
|
||||||
for (i = 0; i < found_configs; i++ ) {
|
if (_this->egl_data->egl_required_visual_id)
|
||||||
if (_this->egl_data->egl_required_visual_id)
|
{
|
||||||
{
|
for (i = 0; i < found_configs; i++ ) {
|
||||||
EGLint format;
|
EGLint format;
|
||||||
_this->egl_data->eglGetConfigAttrib(_this->egl_data->egl_display,
|
_this->egl_data->eglGetConfigAttrib(_this->egl_data->egl_display,
|
||||||
configs[i],
|
configs[i],
|
||||||
EGL_NATIVE_VISUAL_ID, &format);
|
EGL_NATIVE_VISUAL_ID, &format);
|
||||||
if (_this->egl_data->egl_required_visual_id == format)
|
if (_this->egl_data->egl_required_visual_id == format) {
|
||||||
has_matching_format = SDL_TRUE;
|
has_matching_format = SDL_TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user