From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37223) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCRUJ-000279-9n for qemu-devel@nongnu.org; Fri, 14 Sep 2012 04:43:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCRUD-0007a3-De for qemu-devel@nongnu.org; Fri, 14 Sep 2012 04:42:59 -0400 Received: from mail-we0-f173.google.com ([74.125.82.173]:36282) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCRUD-0007Vp-74 for qemu-devel@nongnu.org; Fri, 14 Sep 2012 04:42:53 -0400 Received: by mail-we0-f173.google.com with SMTP id z53so2179729wey.4 for ; Fri, 14 Sep 2012 01:42:52 -0700 (PDT) From: Stefan Hajnoczi Date: Fri, 14 Sep 2012 09:42:22 +0100 Message-Id: <1347612146-5407-9-git-send-email-stefanha@gmail.com> In-Reply-To: <1347612146-5407-1-git-send-email-stefanha@gmail.com> References: <1347612146-5407-1-git-send-email-stefanha@gmail.com> Subject: [Qemu-devel] [PATCH 08/12] console: Clean up bytes per pixel calculation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org, Stefan Hajnoczi From: BALATON Zoltan Division with round up is the correct way to compute this even if the only case where division with round down gives incorrect result is probably 15 bpp. This case was explicitely patched up in one of these functions but was unhandled in the other. (I'm not sure about setting 16 bpp for the 15bpp case either but I left that there for now.) Signed-off-by: BALATON Zoltan Signed-off-by: Stefan Hajnoczi --- console.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/console.c b/console.c index c1ed5e0..a8bcc42 100644 --- a/console.c +++ b/console.c @@ -1612,7 +1612,7 @@ PixelFormat qemu_different_endianness_pixelformat(int bpp) memset(&pf, 0x00, sizeof(PixelFormat)); pf.bits_per_pixel = bpp; - pf.bytes_per_pixel = bpp / 8; + pf.bytes_per_pixel = DIV_ROUND_UP(bpp, 8); pf.depth = bpp == 32 ? 24 : bpp; switch (bpp) { @@ -1661,13 +1661,12 @@ PixelFormat qemu_default_pixelformat(int bpp) memset(&pf, 0x00, sizeof(PixelFormat)); pf.bits_per_pixel = bpp; - pf.bytes_per_pixel = bpp / 8; + pf.bytes_per_pixel = DIV_ROUND_UP(bpp, 8); pf.depth = bpp == 32 ? 24 : bpp; switch (bpp) { case 15: pf.bits_per_pixel = 16; - pf.bytes_per_pixel = 2; pf.rmask = 0x00007c00; pf.gmask = 0x000003E0; pf.bmask = 0x0000001F; -- 1.7.10.4