diff --git a/include/SDL3/SDL_hints.h b/include/SDL3/SDL_hints.h index c33bdf29e2..00b88ecd8e 100644 --- a/include/SDL3/SDL_hints.h +++ b/include/SDL3/SDL_hints.h @@ -2436,6 +2436,15 @@ extern "C" { */ #define SDL_HINT_NO_SIGNAL_HANDLERS "SDL_NO_SIGNAL_HANDLERS" +/** + * Specify the OpenGL library to load. + * + * This hint should be set before creating an OpenGL window or creating an OpenGL context. + * + * \since This hint is available since SDL 3.0.0. + */ +#define SDL_HINT_OPENGL_LIBRARY "SDL_OPENGL_LIBRARY" + /** * A variable controlling what driver to use for OpenGL ES contexts. * @@ -3341,6 +3350,15 @@ extern "C" { */ #define SDL_HINT_VITA_TOUCH_MOUSE_DEVICE "SDL_VITA_TOUCH_MOUSE_DEVICE" +/** + * Specify the Vulkan library to load. + * + * This hint should be set before creating a Vulkan window or calling SDL_Vulkan_LoadLibrary(). + * + * \since This hint is available since SDL 3.0.0. + */ +#define SDL_HINT_VULKAN_LIBRARY "SDL_VULKAN_LIBRARY" + /** * A variable controlling how the fact chunk affects the loading of a WAVE * file. diff --git a/src/video/android/SDL_androidvulkan.c b/src/video/android/SDL_androidvulkan.c index da5acfb66c..b4be7232a7 100644 --- a/src/video/android/SDL_androidvulkan.c +++ b/src/video/android/SDL_androidvulkan.c @@ -49,7 +49,7 @@ int Android_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { path = "libvulkan.so"; diff --git a/src/video/cocoa/SDL_cocoaopengl.m b/src/video/cocoa/SDL_cocoaopengl.m index 4cf14c75b0..319e31e239 100644 --- a/src/video/cocoa/SDL_cocoaopengl.m +++ b/src/video/cocoa/SDL_cocoaopengl.m @@ -229,7 +229,7 @@ int Cocoa_GL_LoadLibrary(SDL_VideoDevice *_this, const char *path) { /* Load the OpenGL library */ if (path == NULL) { - path = SDL_getenv("SDL_OPENGL_LIBRARY"); + path = SDL_GetHint(SDL_HINT_OPENGL_LIBRARY); } if (path == NULL) { path = DEFAULT_OPENGL; diff --git a/src/video/cocoa/SDL_cocoavulkan.m b/src/video/cocoa/SDL_cocoavulkan.m index 62929fd2ea..0c956411ac 100644 --- a/src/video/cocoa/SDL_cocoavulkan.m +++ b/src/video/cocoa/SDL_cocoavulkan.m @@ -61,7 +61,7 @@ int Cocoa_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { diff --git a/src/video/kmsdrm/SDL_kmsdrmvulkan.c b/src/video/kmsdrm/SDL_kmsdrmvulkan.c index eb68199258..7ca9e92d7a 100644 --- a/src/video/kmsdrm/SDL_kmsdrmvulkan.c +++ b/src/video/kmsdrm/SDL_kmsdrmvulkan.c @@ -56,7 +56,7 @@ int KMSDRM_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { path = DEFAULT_VULKAN; diff --git a/src/video/offscreen/SDL_offscreenvulkan.c b/src/video/offscreen/SDL_offscreenvulkan.c index ec33186d20..1727d997f2 100644 --- a/src/video/offscreen/SDL_offscreenvulkan.c +++ b/src/video/offscreen/SDL_offscreenvulkan.c @@ -74,7 +74,7 @@ int OFFSCREEN_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } #if defined(SDL_PLATFORM_APPLE) diff --git a/src/video/uikit/SDL_uikitvulkan.m b/src/video/uikit/SDL_uikitvulkan.m index cab1c75873..9d045535a6 100644 --- a/src/video/uikit/SDL_uikitvulkan.m +++ b/src/video/uikit/SDL_uikitvulkan.m @@ -59,7 +59,7 @@ int UIKit_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { diff --git a/src/video/vivante/SDL_vivantevulkan.c b/src/video/vivante/SDL_vivantevulkan.c index d1a7ef7cc0..8325efff13 100644 --- a/src/video/vivante/SDL_vivantevulkan.c +++ b/src/video/vivante/SDL_vivantevulkan.c @@ -47,7 +47,7 @@ int VIVANTE_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { /* If no path set, try Vivante fb vulkan driver explicitly */ diff --git a/src/video/wayland/SDL_waylandvulkan.c b/src/video/wayland/SDL_waylandvulkan.c index 0a0d3c5c86..97cb61426f 100644 --- a/src/video/wayland/SDL_waylandvulkan.c +++ b/src/video/wayland/SDL_waylandvulkan.c @@ -54,7 +54,7 @@ int Wayland_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { path = DEFAULT_VULKAN; diff --git a/src/video/windows/SDL_windowsopengl.c b/src/video/windows/SDL_windowsopengl.c index 7e17e8f83e..0f18eb28e3 100644 --- a/src/video/windows/SDL_windowsopengl.c +++ b/src/video/windows/SDL_windowsopengl.c @@ -110,7 +110,7 @@ int WIN_GL_LoadLibrary(SDL_VideoDevice *_this, const char *path) void *handle; if (path == NULL) { - path = SDL_getenv("SDL_OPENGL_LIBRARY"); + path = SDL_GetHint(SDL_HINT_OPENGL_LIBRARY); } if (path == NULL) { path = DEFAULT_OPENGL; diff --git a/src/video/windows/SDL_windowsvulkan.c b/src/video/windows/SDL_windowsvulkan.c index abd2d034ac..f8f0cb7622 100644 --- a/src/video/windows/SDL_windowsvulkan.c +++ b/src/video/windows/SDL_windowsvulkan.c @@ -49,7 +49,7 @@ int WIN_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { path = "vulkan-1.dll"; diff --git a/src/video/x11/SDL_x11opengl.c b/src/video/x11/SDL_x11opengl.c index d942051303..b393ec260e 100644 --- a/src/video/x11/SDL_x11opengl.c +++ b/src/video/x11/SDL_x11opengl.c @@ -172,7 +172,7 @@ int X11_GL_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the OpenGL library */ if (path == NULL) { - path = SDL_getenv("SDL_OPENGL_LIBRARY"); + path = SDL_GetHint(SDL_HINT_OPENGL_LIBRARY); } if (path == NULL) { path = DEFAULT_OPENGL; diff --git a/src/video/x11/SDL_x11vulkan.c b/src/video/x11/SDL_x11vulkan.c index 93641b39a7..cabd85e97c 100644 --- a/src/video/x11/SDL_x11vulkan.c +++ b/src/video/x11/SDL_x11vulkan.c @@ -58,7 +58,7 @@ int X11_Vulkan_LoadLibrary(SDL_VideoDevice *_this, const char *path) /* Load the Vulkan loader library */ if (!path) { - path = SDL_getenv("SDL_VULKAN_LIBRARY"); + path = SDL_GetHint(SDL_HINT_VULKAN_LIBRARY); } if (!path) { path = DEFAULT_VULKAN;