From: Dongwon Kim <[email protected]> It only needs to update the scanouts containing the rect area coming with the resource-flush request from the guest.
Cc: Gerd Hoffmann <[email protected]> Cc: Vivek Kasireddy <[email protected]> Signed-off-by: Dongwon Kim <[email protected]> Message-Id: <[email protected]> Signed-off-by: Gerd Hoffmann <[email protected]> --- hw/display/virtio-gpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c index cd4a56056fd9..55c6dd576318 100644 --- a/hw/display/virtio-gpu.c +++ b/hw/display/virtio-gpu.c @@ -514,6 +514,9 @@ static void virtio_gpu_resource_flush(VirtIOGPU *g, for (i = 0; i < g->parent_obj.conf.max_outputs; i++) { scanout = &g->parent_obj.scanout[i]; if (scanout->resource_id == res->resource_id && + rf.r.x >= scanout->x && rf.r.y >= scanout->y && + rf.r.x + rf.r.width <= scanout->x + scanout->width && + rf.r.y + rf.r.height <= scanout->y + scanout->height && console_has_gl(scanout->con)) { dpy_gl_update(scanout->con, 0, 0, scanout->width, scanout->height); -- 2.36.1
