From: Volker Rümelin Date: Sat, 11 Nov 2023 10:40:20 +0000 (+0100) Subject: ui/gtk-egl: move function calls back to regular code path X-Git-Tag: v8.2.0-rc3~7^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53a939f1bf8e4a3e38f9449fac44f572676966ad;p=thirdparty%2Fqemu.git ui/gtk-egl: move function calls back to regular code path Commit 6f189a08c1 ("ui/gtk-egl: Check EGLSurface before doing scanout") introduced a regression when QEMU is running with a virtio-gpu-gl-device on a host under X11. After the guest has initialized the virtio-gpu-gl-device, the guest screen only shows "Display output is not active.". Commit 6f189a08c1 moved all function calls in gd_egl_scanout_texture() to a code path which is only called once after gd_egl_init() succeeds in gd_egl_scanout_texture(). Move all function calls in gd_egl_scanout_texture() back to the regular code path so they get always called if one of the gd_egl_init() calls was successful. Fixes: 6f189a08c1 ("ui/gtk-egl: Check EGLSurface before doing scanout") Signed-off-by: Volker Rümelin Reviewed-by: Marc-André Lureau Message-Id: <20231111104020.26183-1-vr_qemu@t-online.de> --- diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c index cd2f176502d..3af5ac5bcf3 100644 --- a/ui/gtk-egl.c +++ b/ui/gtk-egl.c @@ -249,14 +249,14 @@ void gd_egl_scanout_texture(DisplayChangeListener *dcl, if (!vc->gfx.esurface) { return; } + } - eglMakeCurrent(qemu_egl_display, vc->gfx.esurface, - vc->gfx.esurface, vc->gfx.ectx); + eglMakeCurrent(qemu_egl_display, vc->gfx.esurface, + vc->gfx.esurface, vc->gfx.ectx); - gtk_egl_set_scanout_mode(vc, true); - egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height, - backing_id, false); - } + gtk_egl_set_scanout_mode(vc, true); + egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height, + backing_id, false); } void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,