mirror of
https://github.com/mii443/qemu.git
synced 2025-12-16 17:18:49 +00:00
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180427-pull-request' into staging
vnc: fix use-after-free. sdl2: gles support. vfio-display: add reset support. # gpg: Signature made Fri 27 Apr 2018 10:54:17 BST # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20180427-pull-request: ui: introduce vfio_display_reset console: introduce dpy_gfx_update_full sdl: Allow OpenGL ES context creation sdl: Move DisplayOptions global to sdl2_console qapi: Parameter gl of DisplayType now accept an enum vnc: fix use-after-free Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -198,6 +198,17 @@ static void vfio_display_dmabuf_exit(VFIODisplay *dpy)
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
void vfio_display_reset(VFIOPCIDevice *vdev)
|
||||
{
|
||||
if (!vdev || !vdev->dpy || !vdev->dpy->con ||
|
||||
!vdev->dpy->dmabuf.primary) {
|
||||
return;
|
||||
}
|
||||
|
||||
dpy_gl_scanout_disable(vdev->dpy->con);
|
||||
vfio_display_dmabuf_exit(vdev->dpy);
|
||||
dpy_gfx_update_full(vdev->dpy->con);
|
||||
}
|
||||
|
||||
static void vfio_display_region_update(void *opaque)
|
||||
{
|
||||
|
||||
@@ -3103,6 +3103,10 @@ static void vfio_pci_reset(DeviceState *dev)
|
||||
|
||||
vfio_pci_pre_reset(vdev);
|
||||
|
||||
if (vdev->display != ON_OFF_AUTO_OFF) {
|
||||
vfio_display_reset(vdev);
|
||||
}
|
||||
|
||||
if (vdev->resetfn && !vdev->resetfn(vdev)) {
|
||||
goto post_reset;
|
||||
}
|
||||
|
||||
@@ -176,6 +176,7 @@ int vfio_pci_igd_opregion_init(VFIOPCIDevice *vdev,
|
||||
struct vfio_region_info *info,
|
||||
Error **errp);
|
||||
|
||||
void vfio_display_reset(VFIOPCIDevice *vdev);
|
||||
int vfio_display_probe(VFIOPCIDevice *vdev, Error **errp);
|
||||
void vfio_display_finalize(VFIOPCIDevice *vdev);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user