From patchwork Wed Aug 22 15:19:42 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: BALATON Zoltan X-Patchwork-Id: 179337 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 54E562C0084 for ; Thu, 23 Aug 2012 01:19:53 +1000 (EST) Received: from localhost ([::1]:51092 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Cil-0004CD-8q for incoming@patchwork.ozlabs.org; Wed, 22 Aug 2012 11:19:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38791) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Cie-0004Bt-Ap for qemu-devel@nongnu.org; Wed, 22 Aug 2012 11:19:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T4Cid-00011q-Ar for qemu-devel@nongnu.org; Wed, 22 Aug 2012 11:19:44 -0400 Received: from mono.eik.bme.hu ([152.66.115.2]:61124) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T4Cid-00011j-4c; Wed, 22 Aug 2012 11:19:43 -0400 Received: from localhost (localhost [127.0.0.1]) by mono.eik.bme.hu (Postfix) with ESMTP id A9140283; Wed, 22 Aug 2012 17:19:42 +0200 (CEST) X-Virus-Scanned: amavisd-new at eik.bme.hu Received: from mono.eik.bme.hu ([127.0.0.1]) by localhost (mono.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id remuofD05TbE; Wed, 22 Aug 2012 17:19:42 +0200 (CEST) Received: by mono.eik.bme.hu (Postfix, from userid 432) id 794EC91F; Wed, 22 Aug 2012 17:19:42 +0200 (CEST) Date: Wed, 22 Aug 2012 17:19:42 +0200 (CEST) From: BALATON Zoltan X-X-Sender: balaton@mono To: qemu-devel@nongnu.org Message-ID: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 152.66.115.2 Cc: qemu-trivial@nongnu.org Subject: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 --- console.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) v2: Use DIV_ROUND_UP and extended commit message diff --git a/console.c b/console.c index 4525cc7..9df1701 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;