mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-09 23:54:20 +00:00
Backends: OpenGL3: Fixed embedded loader multiple init/shutdown cycles broken on some platforms. (#8792, #9112)
This commit is contained in:
parent
0d2dd30ee9
commit
bd6f48fe20
3 changed files with 12 additions and 0 deletions
|
|
@ -23,6 +23,7 @@
|
||||||
|
|
||||||
// CHANGELOG
|
// CHANGELOG
|
||||||
// (minor and older changes stripped away, please see git history for details)
|
// (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-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-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.
|
// 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.
|
||||||
|
|
|
||||||
|
|
@ -836,6 +836,7 @@ static int parse_version(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_procs(GL3WGetProcAddressProc proc);
|
static void load_procs(GL3WGetProcAddressProc proc);
|
||||||
|
static void clear_procs();
|
||||||
|
|
||||||
int imgl3wInit(void)
|
int imgl3wInit(void)
|
||||||
{
|
{
|
||||||
|
|
@ -855,6 +856,7 @@ int imgl3wInit2(GL3WGetProcAddressProc proc)
|
||||||
void imgl3wShutdown(void)
|
void imgl3wShutdown(void)
|
||||||
{
|
{
|
||||||
close_libgl();
|
close_libgl();
|
||||||
|
clear_procs();
|
||||||
}
|
}
|
||||||
|
|
||||||
int imgl3wIsSupported(int major, int minor)
|
int imgl3wIsSupported(int major, int minor)
|
||||||
|
|
@ -943,6 +945,13 @@ static void load_procs(GL3WGetProcAddressProc proc)
|
||||||
imgl3wProcs.ptr[i] = proc(proc_names[i]);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,8 @@ Other Changes:
|
||||||
Lowers overhead for very high framerates (e.g. 10k+ FPS). [@maxliani]
|
Lowers overhead for very high framerates (e.g. 10k+ FPS). [@maxliani]
|
||||||
- GLFW: Added IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND to
|
- GLFW: Added IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND to
|
||||||
forcefully disable either. (#9109, #9116)
|
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+
|
- SDL_GPU3: macOS version can use MSL shaders in order to support macOS 10.14+
|
||||||
(vs Metallib shaders requiring macOS 14+). Requires application calling
|
(vs Metallib shaders requiring macOS 14+). Requires application calling
|
||||||
SDL_CreateGPUDevice() with SDL_GPU_SHADERFORMAT_MSL. (#9076) [@Niminem]
|
SDL_CreateGPUDevice() with SDL_GPU_SHADERFORMAT_MSL. (#9076) [@Niminem]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue