[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/15] ui/gtk-gl-area: implement GL context destruction
From: |
Gerd Hoffmann |
Subject: |
[PULL 01/15] ui/gtk-gl-area: implement GL context destruction |
Date: |
Tue, 14 Jun 2022 14:15:56 +0200 |
From: Volker RĂ¼melin <vr_qemu@t-online.de>
The counterpart function for gd_gl_area_create_context() is
currently empty. Implement the gd_gl_area_destroy_context()
function to avoid GL context leaks.
Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Message-Id: <20220605085131.7711-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
ui/gtk-gl-area.c | 8 +++++++-
ui/trace-events | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c
index fc5a082eb846..0e20ea031d34 100644
--- a/ui/gtk-gl-area.c
+++ b/ui/gtk-gl-area.c
@@ -201,7 +201,13 @@ QEMUGLContext gd_gl_area_create_context(DisplayGLCtx *dgc,
void gd_gl_area_destroy_context(DisplayGLCtx *dgc, QEMUGLContext ctx)
{
- /* FIXME */
+ GdkGLContext *current_ctx = gdk_gl_context_get_current();
+
+ trace_gd_gl_area_destroy_context(ctx, current_ctx);
+ if (ctx == current_ctx) {
+ gdk_gl_context_clear_current();
+ }
+ g_clear_object(&ctx);
}
void gd_gl_area_scanout_texture(DisplayChangeListener *dcl,
diff --git a/ui/trace-events b/ui/trace-events
index f78b5e66061f..1040ba0f88c7 100644
--- a/ui/trace-events
+++ b/ui/trace-events
@@ -26,6 +26,7 @@ gd_key_event(const char *tab, int gdk_keycode, int qkeycode,
const char *action)
gd_grab(const char *tab, const char *device, const char *reason) "tab=%s,
dev=%s, reason=%s"
gd_ungrab(const char *tab, const char *device) "tab=%s, dev=%s"
gd_keymap_windowing(const char *name) "backend=%s"
+gd_gl_area_destroy_context(void *ctx, void *current_ctx) "ctx=%p,
current_ctx=%p"
# vnc-auth-sasl.c
# vnc-auth-vencrypt.c
--
2.36.1
- [PULL 00/15] Kraxel 20220614 patches, Gerd Hoffmann, 2022/06/14
- [PULL 01/15] ui/gtk-gl-area: implement GL context destruction,
Gerd Hoffmann <=
- [PULL 04/15] hw/usb: Add CanoKey Implementation, Gerd Hoffmann, 2022/06/14
- [PULL 12/15] virtio-gpu: update done only on the scanout associated with rect, Gerd Hoffmann, 2022/06/14
- [PULL 06/15] meson: Add CanoKey, Gerd Hoffmann, 2022/06/14
- [PULL 09/15] MAINTAINERS: add myself as CanoKey maintainer, Gerd Hoffmann, 2022/06/14
- [PULL 13/15] ui/console: Do not return a value with ui_info, Gerd Hoffmann, 2022/06/14
- [PULL 15/15] virtio-gpu: Respect UI refresh rate for EDID, Gerd Hoffmann, 2022/06/14
- [PULL 07/15] docs: Add CanoKey documentation, Gerd Hoffmann, 2022/06/14
- [PULL 05/15] hw/usb/canokey: Add trace events, Gerd Hoffmann, 2022/06/14
- [PULL 03/15] ui/cocoa: Fix poweroff request code, Gerd Hoffmann, 2022/06/14
- [PULL 10/15] hw/usb/hcd-ehci: fix writeback order, Gerd Hoffmann, 2022/06/14