]> git.proxmox.com Git - mirror_qemu.git/commit
virtio-gpu: replace the surface with null surface when resetting
authorDongwon Kim <dongwon.kim@intel.com>
Tue, 27 Jun 2023 22:44:51 +0000 (15:44 -0700)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 17 Jul 2023 11:20:56 +0000 (15:20 +0400)
commit0d0be87659b06ef7ce07ad07376086bd28e4d71b
tree29b1c521518b51b043e54ba5ea3e6e20b1c3c3ad
parent83b4b236ed54dab35f1b821ee2b6f3101c45c8cc
virtio-gpu: replace the surface with null surface when resetting

The primary guest scanout shows the booting screen right after reboot
but additional guest displays (i.e. max_ouptuts > 1) will keep displaying
the old frames until the guest virtio gpu driver gets initialized, which
could cause some confusion. A better way is to to replace the surface with
a place holder that tells the display is not active during the reset of
virtio-gpu device.

And to immediately update the surface with the place holder image after
the switch, displaychangelistener_gfx_switch needs to be called with
'update == TRUE' in dpy_gfx_replace_surface when the new surface is NULL.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20230627224451.11739-1-dongwon.kim@intel.com>
hw/display/virtio-gpu.c
ui/console.c