[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 11/18] ui/sdl: get the GL context from the window
From: |
marcandre . lureau |
Subject: |
[PATCH v3 11/18] ui/sdl: get the GL context from the window |
Date: |
Mon, 13 Mar 2023 14:12:00 +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>
---
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
- [PATCH v3 06/18] ui: rename cursor_{put->unref}, (continued)
- [PATCH v3 06/18] ui: rename cursor_{put->unref}, marcandre . lureau, 2023/03/13
- [PATCH v3 07/18] ui: rename cursor_{get->ref}, return it, marcandre . lureau, 2023/03/13
- [PATCH v3 08/18] ui: keep current cursor with QemuConsole, marcandre . lureau, 2023/03/13
- [PATCH v3 09/18] ui: set cursor upon listener registration, marcandre . lureau, 2023/03/13
- [PATCH v3 10/18] ui: set cursor position upon listener registration, marcandre . lureau, 2023/03/13
- [PATCH v3 13/18] ui/egl: print EGL error, helping debugging, marcandre . lureau, 2023/03/13
- [PATCH v3 14/18] ui/sdl: add QEMU_ENABLE_SDL_LOGGING setting/environment, marcandre . lureau, 2023/03/13
- [PATCH v3 16/18] ui: introduce egl_init(), marcandre . lureau, 2023/03/13
- [PATCH v3 11/18] ui/sdl: get the GL context from the window,
marcandre . lureau <=
- [PATCH v3 12/18] ui/shader: fix #version directive must occur on first line, marcandre . lureau, 2023/03/13
- [PATCH v3 15/18] ui/sdl: try to instantiate the matching opengl renderer, marcandre . lureau, 2023/03/13
- [PATCH v3 17/18] ui/dbus: do not require opengl & gbm, marcandre . lureau, 2023/03/13
- [PATCH v3 18/18] ui/dbus: restrict opengl to gbm-enabled config, marcandre . lureau, 2023/03/13