[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 11/18] ui/sdl: get the GL context from the window
From: |
marcandre . lureau |
Subject: |
[PULL v2 11/18] ui/sdl: get the GL context from the window |
Date: |
Tue, 14 Mar 2023 00:01:27 +0400 |
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>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
ui/sdl2.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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);
--
2.39.2
- [PULL v2 01/18] ui/dbus: initialize cursor_fb, (continued)
- [PULL v2 01/18] ui/dbus: initialize cursor_fb, marcandre . lureau, 2023/03/13
- [PULL v2 02/18] ui/dbus: unregister clipboard on connection close, marcandre . lureau, 2023/03/13
- [PULL v2 03/18] audio/dbus: there are no sender for p2p mode, marcandre . lureau, 2023/03/13
- [PULL v2 04/18] ui/dbus: set mouse is-absolute during console creation, marcandre . lureau, 2023/03/13
- [PULL v2 05/18] meson: ensure dbus-display generated code is built before other units, marcandre . lureau, 2023/03/13
- [PULL v2 06/18] ui: rename cursor_{put->unref}, marcandre . lureau, 2023/03/13
- [PULL v2 07/18] ui: rename cursor_{get->ref}, return it, marcandre . lureau, 2023/03/13
- [PULL v2 08/18] ui: keep current cursor with QemuConsole, marcandre . lureau, 2023/03/13
- [PULL v2 10/18] ui: set cursor position upon listener registration, marcandre . lureau, 2023/03/13
- [PULL v2 11/18] ui/sdl: get the GL context from the window,
marcandre . lureau <=
- [PULL v2 09/18] ui: set cursor upon listener registration, marcandre . lureau, 2023/03/13
- [PULL v2 12/18] ui/shader: fix #version directive must occur on first line, marcandre . lureau, 2023/03/13
- [PULL v2 13/18] ui/egl: print EGL error, helping debugging, marcandre . lureau, 2023/03/13
- [PULL v2 15/18] ui/sdl: try to instantiate the matching opengl renderer, marcandre . lureau, 2023/03/13
- [PULL v2 14/18] ui/sdl: add QEMU_ENABLE_SDL_LOGGING setting/environment, marcandre . lureau, 2023/03/13
- [PULL v2 16/18] ui: introduce egl_init(), marcandre . lureau, 2023/03/13
- [PULL v2 17/18] ui/dbus: do not require opengl & gbm, marcandre . lureau, 2023/03/13
- [PULL v2 18/18] ui/dbus: restrict opengl to gbm-enabled config, marcandre . lureau, 2023/03/13
- Re: [PULL v2 00/18] Display patches, Peter Maydell, 2023/03/14