Hi On Sat, Nov 11, 2023 at 2:40 PM Volker Rümelin <vr_q...@t-online.de> wrote: > > 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 <vr_q...@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > ui/gtk-egl.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c > index cd2f176502..3af5ac5bcf 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, > -- > 2.35.3 >