[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 1/5] ui/sdl2: Restore original context after new context creat
From: |
Dmitry Osipenko |
Subject: |
[PATCH v4 1/5] ui/sdl2: Restore original context after new context creation |
Date: |
Mon, 11 Nov 2024 01:18:33 +0300 |
SDL API changes GL context to a newly created GL context, which differs
from other GL providers that don't switch context. Change SDL backend to
restore the original GL context. This allows Qemu's virtio-gpu to support
new virglrenderer async-fencing feature for Virgl contexts, otherwise
virglrenderer's vrend creates a fence-sync context on the Qemu's
main-loop thread that erroneously stays in-use by the main-loop after
creation, not allowing vrend's fence-sync thread switch to this new
context that belongs to it.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
---
ui/sdl2-gl.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
index e01d9ab0c7bf..b1fe96d6af22 100644
--- a/ui/sdl2-gl.c
+++ b/ui/sdl2-gl.c
@@ -168,6 +168,9 @@ QEMUGLContext sdl2_gl_create_context(DisplayGLCtx *dgc,
SDL_GL_CONTEXT_PROFILE_ES);
ctx = SDL_GL_CreateContext(scon->real_window);
}
+
+ SDL_GL_MakeCurrent(scon->real_window, scon->winctx);
+
return (QEMUGLContext)ctx;
}
--
2.47.0
- [PATCH v4 0/5] Support virtio-gpu DRM native context, Dmitry Osipenko, 2024/11/10
- [PATCH v4 1/5] ui/sdl2: Restore original context after new context creation,
Dmitry Osipenko <=
- [PATCH v4 2/5] ui/sdl2: Implement dpy dmabuf functions, Dmitry Osipenko, 2024/11/10
- [PATCH v4 3/5] virtio-gpu: Handle virgl fence creation errors, Dmitry Osipenko, 2024/11/10
- [PATCH v4 4/5] virtio-gpu: Support asynchronous fencing, Dmitry Osipenko, 2024/11/10
- [PATCH v4 5/5] virtio-gpu: Support DRM native context, Dmitry Osipenko, 2024/11/10
- Re: [PATCH v4 0/5] Support virtio-gpu DRM native context, Akihiko Odaki, 2024/11/11