1
0
Fork 0
mirror of https://github.com/ocornut/imgui.git synced 2026-01-08 23:44:19 +00:00

Backends: OpenGL3: Fixed embedded loader multiple init/shutdown cycles broken on some platforms. (#8792, #9112)

This commit is contained in:
ocornut 2025-12-11 18:28:23 +01:00
parent 0d2dd30ee9
commit bd6f48fe20
3 changed files with 12 additions and 0 deletions

View file

@ -23,6 +23,7 @@
// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
// 2025-12-11: OpenGL: Fixed embedded loader multiple init/shutdown cycles broken on some platforms. (#8792, #9112)
// 2025-09-18: Call platform_io.ClearRendererHandlers() on shutdown.
// 2025-07-22: OpenGL: Add and call embedded loader shutdown during ImGui_ImplOpenGL3_Shutdown() to facilitate multiple init/shutdown cycles in same process. (#8792)
// 2025-07-15: OpenGL: Set GL_UNPACK_ALIGNMENT to 1 before updating textures (#8802) + restore non-WebGL/ES update path that doesn't require a CPU-side copy.

View file

@ -836,6 +836,7 @@ static int parse_version(void)
}
static void load_procs(GL3WGetProcAddressProc proc);
static void clear_procs();
int imgl3wInit(void)
{
@ -855,6 +856,7 @@ int imgl3wInit2(GL3WGetProcAddressProc proc)
void imgl3wShutdown(void)
{
close_libgl();
clear_procs();
}
int imgl3wIsSupported(int major, int minor)
@ -943,6 +945,13 @@ static void load_procs(GL3WGetProcAddressProc proc)
imgl3wProcs.ptr[i] = proc(proc_names[i]);
}
static void clear_procs()
{
size_t i;
for (i = 0; i < GL3W_ARRAY_SIZE(proc_names); i++)
imgl3wProcs.ptr[i] = nullptr;
}
#ifdef __cplusplus
}
#endif

View file

@ -98,6 +98,8 @@ Other Changes:
Lowers overhead for very high framerates (e.g. 10k+ FPS). [@maxliani]
- GLFW: Added IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND to
forcefully disable either. (#9109, #9116)
- OpenGL3: Fixed embedded loader multiple init/shutdown cycles broken on some
platforms. (#8792, #9112)
- SDL_GPU3: macOS version can use MSL shaders in order to support macOS 10.14+
(vs Metallib shaders requiring macOS 14+). Requires application calling
SDL_CreateGPUDevice() with SDL_GPU_SHADERFORMAT_MSL. (#9076) [@Niminem]