aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2024-01-15 16:34:33 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2024-03-12 17:57:58 +0400
commitdfcf74fa68c88233209aafc5f82728d0b9a1af5c (patch)
tree1b126b53454977277cf632a386419a9bb413fa6e /include
parentcab47b210598c11b76053a01316df9835b94dc09 (diff)
downloadqemu-dfcf74fa68c88233209aafc5f82728d0b9a1af5c.zip
qemu-dfcf74fa68c88233209aafc5f82728d0b9a1af5c.tar.gz
qemu-dfcf74fa68c88233209aafc5f82728d0b9a1af5c.tar.bz2
virtio-gpu: fix scanout migration post-load
The current post-loading code for scanout has a FIXME: it doesn't take the resource region/rect into account. But there is more, when adding blob migration support in commit f66767f75c9, I didn't realize that blob resources could be used for scanouts. This situationn leads to a crash during post-load, as they don't have an associated res->image. virtio_gpu_do_set_scanout() handle all cases, but requires the associated virtio_gpu_framebuffer, which is currently not saved during migration. Add a v2 of "virtio-gpu-one-scanout" with the framebuffer fields, so we can restore blob scanouts, as well as fixing the existing FIXME. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Sebastian Ott <sebott@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/virtio/virtio-gpu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index b28e7ef..ed44cda 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -81,6 +81,7 @@ struct virtio_gpu_scanout {
uint32_t resource_id;
struct virtio_gpu_update_cursor cursor;
QEMUCursor *current_cursor;
+ struct virtio_gpu_framebuffer fb;
};
struct virtio_gpu_requested_state {