Message ID | 20230313101207.375125-12-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | ui: dbus & misc fixes | expand |
On Mon, Mar 13, 2023 at 02:12:00PM +0400, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > There is no guarantee to have a current GL context here. The current > code seems to rely on the renderer using a GL backend, and to set a > current GL context. But this is not always the case, for example if the > renderer backend is DirectX. > > This change is enough to fix using virgl with sdl2 on win32, on my setup. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > ui/sdl2.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel
diff --git a/ui/sdl2.c b/ui/sdl2.c index 8cb77416af..137f7ab57f 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -101,7 +101,7 @@ void sdl2_window_create(struct sdl2_console *scon) flags); scon->real_renderer = SDL_CreateRenderer(scon->real_window, -1, 0); if (scon->opengl) { - scon->winctx = SDL_GL_GetCurrentContext(); + scon->winctx = SDL_GL_CreateContext(scon->real_window); } sdl_update_caption(scon); } @@ -112,6 +112,8 @@ void sdl2_window_destroy(struct sdl2_console *scon) return; } + SDL_GL_DeleteContext(scon->winctx); + scon->winctx = NULL; SDL_DestroyRenderer(scon->real_renderer); scon->real_renderer = NULL; SDL_DestroyWindow(scon->real_window);