- tests: bump QOS_PATH_MAX_ELEMENT_SIZE again - softmmu/physmem: fix memory leak in dirty_memory_extend() - crypto: run qcrypto_pbkdf2_count_iters in a new thread - hw/audio/virtio-sound: fix heap buffer overflow - hw/intc/arm_gic: fix spurious level triggered interrupts - ui/sdl2: set swap interval explicitly when OpenGL is enabled - target/riscv/kvm: tolerate KVM disable ext errors - virtio: remove virtio_tswap16s() call in vring_packed_event_read() - block: fix -Werror=maybe-uninitialized false-positive - hw/remote/vfio-user: Fix config space access byte order - hw/loongarch/virt: Fix memory leak - hw/intc/riscv_aplic: APLICs should add child earlier than realize - stdvga: fix screen blanking - ui/gtk: Draw guest frame at refresh cycle - target/i386: fix size of EBP writeback in gen_enter() - virtio-net: drop too short packets early - target/ppc: Fix lxv/stxv MSR facility check - target/ppc: Fix lxvx/stxvx facility check - virtio-snd: add max size bounds check in input cb(CVE-2024-7730) Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com> (cherry picked from commit e2eb79f1867bb8d8d870e758f06d2a32b3a4fc8a)
60 lines
2.1 KiB
Diff
60 lines
2.1 KiB
Diff
From 228e14db9a85e7e978c38b97ae622302a0d4f784 Mon Sep 17 00:00:00 2001
|
|
From: Dongwon Kim <dongwon.kim@intel.com>
|
|
Date: Fri, 26 Apr 2024 15:50:59 -0700
|
|
Subject: [PATCH] ui/gtk: Draw guest frame at refresh cycle
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Draw routine needs to be manually invoked in the next refresh
|
|
if there is a scanout blob from the guest. This is to prevent
|
|
a situation where there is a scheduled draw event but it won't
|
|
happen bacause the window is currently in inactive state
|
|
(minimized or tabified). If draw is not done for a long time,
|
|
gl_block timeout and/or fence timeout (on the guest) will happen
|
|
eventually.
|
|
|
|
v2: Use gd_gl_area_draw(vc) in gtk-gl-area.c
|
|
|
|
Suggested-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
|
|
Cc: Gerd Hoffmann <kraxel@redhat.com>
|
|
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Cc: Daniel P. Berrangé <berrange@redhat.com>
|
|
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
|
|
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
Message-Id: <20240426225059.3871283-1-dongwon.kim@intel.com>
|
|
(cherry picked from commit 77bf310084dad38b3a2badf01766c659056f1cf2)
|
|
Signed-off-by: zhujun2 <zhujun2_yewu@cmss.chinamobile.com>
|
|
---
|
|
ui/gtk-egl.c | 1 +
|
|
ui/gtk-gl-area.c | 1 +
|
|
2 files changed, 2 insertions(+)
|
|
|
|
diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
|
|
index 3af5ac5bcf..75f6b9011a 100644
|
|
--- a/ui/gtk-egl.c
|
|
+++ b/ui/gtk-egl.c
|
|
@@ -150,6 +150,7 @@ void gd_egl_refresh(DisplayChangeListener *dcl)
|
|
vc, vc->window ? vc->window : vc->gfx.drawing_area);
|
|
|
|
if (vc->gfx.guest_fb.dmabuf && vc->gfx.guest_fb.dmabuf->draw_submitted) {
|
|
+ gd_egl_draw(vc);
|
|
return;
|
|
}
|
|
|
|
diff --git a/ui/gtk-gl-area.c b/ui/gtk-gl-area.c
|
|
index 52dcac161e..4fff957c3f 100644
|
|
--- a/ui/gtk-gl-area.c
|
|
+++ b/ui/gtk-gl-area.c
|
|
@@ -126,6 +126,7 @@ void gd_gl_area_refresh(DisplayChangeListener *dcl)
|
|
gd_update_monitor_refresh_rate(vc, vc->window ? vc->window : vc->gfx.drawing_area);
|
|
|
|
if (vc->gfx.guest_fb.dmabuf && vc->gfx.guest_fb.dmabuf->draw_submitted) {
|
|
+ gd_gl_area_draw(vc);
|
|
return;
|
|
}
|
|
|
|
--
|
|
2.41.0.windows.1
|
|
|