diff mbox

[RFC] qxl: set mm_time in vga update

Message ID 1308163478-21136-1-git-send-email-alevy@redhat.com
State New
Headers show

Commit Message

Alon Levy June 15, 2011, 6:44 p.m. UTC
This fixes a problem where on windows 7 startup phase, before the qxl driver
is loaded, the drawables are sufficiently large and video like to trigger a
stream, but the lack of a filled mm time field triggers a warning in spice-gtk.
---
 ui/spice-display.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

Comments

Gerd Hoffmann June 16, 2011, 1:34 p.m. UTC | #1
On 06/15/11 20:44, Alon Levy wrote:
> This fixes a problem where on windows 7 startup phase, before the qxl driver
> is loaded, the drawables are sufficiently large and video like to trigger a
> stream, but the lack of a filled mm time field triggers a warning in spice-gtk.

Looks good to me.  Why this is tagged RFC?

cheers,
   Gerd
Alon Levy June 16, 2011, 3:52 p.m. UTC | #2
On Thu, Jun 16, 2011 at 03:34:52PM +0200, Gerd Hoffmann wrote:
> On 06/15/11 20:44, Alon Levy wrote:
> >This fixes a problem where on windows 7 startup phase, before the qxl driver
> >is loaded, the drawables are sufficiently large and video like to trigger a
> >stream, but the lack of a filled mm time field triggers a warning in spice-gtk.
> 
> Looks good to me.  Why this is tagged RFC?

I wasn't sure if the right thing is to set the mm_time or just not warn if it is missing.
This can be committed as is if you think it's good.

> 
> cheers,
>   Gerd
>
diff mbox

Patch

diff --git a/ui/spice-display.c b/ui/spice-display.c
index 15f0704..feeee73 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -70,6 +70,7 @@  static SimpleSpiceUpdate *qemu_spice_create_update(SimpleSpiceDisplay *ssd)
     QXLCommand *cmd;
     uint8_t *src, *dst;
     int by, bw, bh;
+    struct timespec time_space;
 
     if (qemu_spice_rect_is_empty(&ssd->dirty)) {
         return NULL;
@@ -96,6 +97,10 @@  static SimpleSpiceUpdate *qemu_spice_create_update(SimpleSpiceDisplay *ssd)
     drawable->surfaces_dest[0] = -1;
     drawable->surfaces_dest[1] = -1;
     drawable->surfaces_dest[2] = -1;
+    clock_gettime(CLOCK_MONOTONIC, &time_space);
+    /* time in milliseconds from epoch. */
+    drawable->mm_time = time_space.tv_sec * 1000
+                      + time_space.tv_nsec / 1000 / 1000;
 
     drawable->u.copy.rop_descriptor  = SPICE_ROPD_OP_PUT;
     drawable->u.copy.src_bitmap      = (intptr_t)image;