From 90a1e3c0b5811d6b334085d56fba1f5f47eaaea3 Mon Sep 17 00:00:00 2001 From: aliguori Date: Mon, 26 Jan 2009 15:37:30 +0000 Subject: vnc fixes and improvements (Stefano Stabellini) this patch fixes a bug and improves the generic pixel conversion function in vnc.c. The bug is that when a new vnc client connects we need to reset the flag has_WMVi but currently we don't. The generic pixel conversion function is vnc_convert_pixel and currently is not very efficient since uses the division and multiplication operators. To make it more efficient I changed to use bit shift operators instead. Signed-off-by: Stefano Stabellini Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6441 c046a42c-6fe2-441c-8c8c-71466251a162 --- console.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'console.c') diff --git a/console.c b/console.c index 4bcdac196d..68ac970654 100644 --- a/console.c +++ b/console.c @@ -1470,6 +1470,9 @@ PixelFormat qemu_different_endianness_pixelformat(int bpp) pf.rshift = 0; pf.gshift = 8; pf.bshift = 16; + pf.rbits = 8; + pf.gbits = 8; + pf.bbits = 8; break; case 32: pf.rmask = 0x0000FF00; @@ -1484,6 +1487,10 @@ PixelFormat qemu_different_endianness_pixelformat(int bpp) pf.rshift = 8; pf.gshift = 16; pf.bshift = 24; + pf.rbits = 8; + pf.gbits = 8; + pf.bbits = 8; + pf.abits = 8; break; default: break; @@ -1512,6 +1519,9 @@ PixelFormat qemu_default_pixelformat(int bpp) pf.rshift = 11; pf.gshift = 5; pf.bshift = 0; + pf.rbits = 5; + pf.gbits = 6; + pf.bbits = 5; break; case 24: pf.rmask = 0x00FF0000; @@ -1523,6 +1533,9 @@ PixelFormat qemu_default_pixelformat(int bpp) pf.rshift = 16; pf.gshift = 8; pf.bshift = 0; + pf.rbits = 8; + pf.gbits = 8; + pf.bbits = 8; case 32: pf.rmask = 0x00FF0000; pf.gmask = 0x0000FF00; @@ -1535,6 +1548,10 @@ PixelFormat qemu_default_pixelformat(int bpp) pf.rshift = 16; pf.gshift = 8; pf.bshift = 0; + pf.rbits = 8; + pf.gbits = 8; + pf.bbits = 8; + pf.abits = 8; break; default: break; -- cgit v1.2.3