| Summary: | Current GL context tracking fails | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Ronie Salgado <roniesalg> |
| Component: | video | Assignee: | Sam Lantinga <slouken> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.0.3 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Attachments: | Bug Reproduction | ||
I think this change fixes the bug, can you verify? https://hg.libsdl.org/SDL/rev/553e9f7cd10e Thanks! No response, closing this bug. |
Created attachment 1673 [details] Bug Reproduction The GL Renderer current context tracking fails when one window is used with an SDL renderer but another separate window is used with a user handled OpenGL context. Attached is a small program that reproduces this bug, at least in some Linux machines where an OpenGL renderer is provided by default. Expected Output: -"First window" should be blue. -"Second window" should be green. Gotten Output: - "First window" black. - "Second window" blue. What happened: The renderer created for the "first window" ends rendering into the "second window" OpenGL context. Bug location: SDL_render_gl.c - line 286 on hg: static SDL_GLContext SDL_CurrentContext = NULL; When making SDL_GL_MakeCurrent from the user perspective, that variable or the GL renderer is not notified about the OpenGL context change. Solution proposal: - Move the current GL context cache into another place global.