diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-10-10 13:29:43 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-11-01 14:00:04 +0100 |
commit | 9f64916da20eea67121d544698676295bbb105a7 (patch) | |
tree | 8f20db45dc90102e76a70021f621916f30f35e96 /ui/vnc-jobs.c | |
parent | b12f32c408ef8cb9b3a4dfcb3710b382fd24a3ee (diff) | |
download | qemu-9f64916da20eea67121d544698676295bbb105a7.zip qemu-9f64916da20eea67121d544698676295bbb105a7.tar.gz qemu-9f64916da20eea67121d544698676295bbb105a7.tar.bz2 |
pixman/vnc: use pixman images in vnc.
The vnc code uses *three* DisplaySurfaces:
First is the surface of the actual QemuConsole, usually the guest
screen, but could also be a text console (monitor/serial reachable via
Ctrl-Alt-<nr> keys). This is left as-is.
Second is the current server's view of the screen content. The vnc code
uses this to figure which parts of the guest screen did _really_ change
to reduce the amount of updates sent to the vnc clients. It is also
used as data source when sending out the updates to the clients. This
surface gets replaced by a pixman image. The format changes too,
instead of using the guest screen format we'll use fixed 32bit rgb
framebuffer and convert the pixels on the fly when comparing and
updating the server framebuffer.
Third surface carries the format expected by the vnc client. That isn't
used to store image data. This surface is switched to PixelFormat and a
boolean for bigendian byte order.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/vnc-jobs.c')
-rw-r--r-- | ui/vnc-jobs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c index 3c592b3..04f139b 100644 --- a/ui/vnc-jobs.c +++ b/ui/vnc-jobs.c @@ -187,7 +187,8 @@ static void vnc_async_encoding_start(VncState *orig, VncState *local) local->vd = orig->vd; local->lossy_rect = orig->lossy_rect; local->write_pixels = orig->write_pixels; - local->clientds = orig->clientds; + local->client_pf = orig->client_pf; + local->client_be = orig->client_be; local->tight = orig->tight; local->zlib = orig->zlib; local->hextile = orig->hextile; |