video: Convert some EGL environment variables to SDL hints.

Fixes #10479.
This commit is contained in:
Ryan C. Gordon 2025-01-06 11:15:26 -05:00
parent 7c9f6c6313
commit 1f54b228ff
No known key found for this signature in database
GPG key ID: FA148B892AB48044
2 changed files with 16 additions and 3 deletions

View file

@ -2635,12 +2635,25 @@ extern "C" {
* Specify the OpenGL library to load. * Specify the OpenGL library to load.
* *
* This hint should be set before creating an OpenGL window or creating an * This hint should be set before creating an OpenGL window or creating an
* OpenGL context. * OpenGL context. If this hint isn't set, SDL will choose a reasonable
* default.
* *
* \since This hint is available since SDL 3.1.3. * \since This hint is available since SDL 3.1.3.
*/ */
#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY" #define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY"
/**
* Specify the EGL library to load.
*
* This hint should be set before creating an OpenGL window or creating an
* OpenGL context. This hint is only considered if SDL is using EGL to
* manage OpenGL contexts. If this hint isn't set, SDL will choose a
* reasonable default.
*
* \since This hint is available since SDL 3.2.0.
*/
#define SDL_HINT_EGL_LIBRARY "SDL_EGL_LIBRARY"
/** /**
* A variable controlling what driver to use for OpenGL ES contexts. * A variable controlling what driver to use for OpenGL ES contexts.
* *

View file

@ -344,7 +344,7 @@ static bool SDL_EGL_LoadLibraryInternal(SDL_VideoDevice *_this, const char *egl_
#if !defined(SDL_VIDEO_STATIC_ANGLE) && !defined(SDL_VIDEO_DRIVER_VITA) #if !defined(SDL_VIDEO_STATIC_ANGLE) && !defined(SDL_VIDEO_DRIVER_VITA)
/* A funny thing, loading EGL.so first does not work on the Raspberry, so we load libGL* first */ /* A funny thing, loading EGL.so first does not work on the Raspberry, so we load libGL* first */
path = SDL_getenv("SDL_VIDEO_GL_DRIVER"); path = SDL_GetHint(SDL_HINT_OPENGL_LIBRARY);
if (path) { if (path) {
opengl_dll_handle = SDL_LoadObject(path); opengl_dll_handle = SDL_LoadObject(path);
} }
@ -404,7 +404,7 @@ static bool SDL_EGL_LoadLibraryInternal(SDL_VideoDevice *_this, const char *egl_
if (egl_dll_handle) { if (egl_dll_handle) {
SDL_UnloadObject(egl_dll_handle); SDL_UnloadObject(egl_dll_handle);
} }
path = SDL_getenv("SDL_VIDEO_EGL_DRIVER"); path = SDL_GetHint(SDL_HINT_EGL_LIBRARY);
if (!path) { if (!path) {
path = DEFAULT_EGL; path = DEFAULT_EGL;
} }