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