From patchwork Fri Sep 14 08:42:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Hajnoczi X-Patchwork-Id: 183855 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 EFC342C007A for ; Fri, 14 Sep 2012 19:30:10 +1000 (EST) Received: from localhost ([::1]:38451 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCRUu-0003cc-Pj for incoming@patchwork.ozlabs.org; Fri, 14 Sep 2012 04:43:36 -0400 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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=mx4d6BAKTYVXpoXKpyUplFXUGZ+xgYVdSXGrxDhd194=; b=MsQI380qO2xFjRCKOlUjAyfugjOoxjlv7t8oUqJZHlI2LEPMXpFER6Rd0oDI1ogljR q52WzJ1tGIITJF3gUxVfNI8t9LZK702HQ6ZWTK7Va4gOWd7wC9JSCH4Bp8Xuo9gQcwvE bDVBjd+P/6Xv2paUwO9IwbG8fSsNE2SODO3+jFRuli7AoQnMb1JR4Tq+shRsC0/tf1lG CO3fethHyLFUQdQOT1yM4T5zp4caqfYJMtDSga8oL6i1iznorv/oPDmdMj4oQbhJOU4I lAUS6TzMyFExNmrB2NjYR/A/+2dMrLug928MlBvYsPlC4cEXfpJJmqmjJ3J1yNH0X/1A B+Yw== Received: by 10.216.196.136 with SMTP id r8mr1082365wen.11.1347612172816; Fri, 14 Sep 2012 01:42:52 -0700 (PDT) Received: from localhost ([109.224.133.37]) by mx.google.com with ESMTPS id j6sm2611659wiy.4.2012.09.14.01.42.51 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 14 Sep 2012 01:42:52 -0700 (PDT) From: Stefan Hajnoczi To: Anthony Liguori Date: Fri, 14 Sep 2012 09:42:22 +0100 Message-Id: <1347612146-5407-9-git-send-email-stefanha@gmail.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1347612146-5407-1-git-send-email-stefanha@gmail.com> References: <1347612146-5407-1-git-send-email-stefanha@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.125.82.173 Cc: qemu-devel@nongnu.org, Stefan Hajnoczi Subject: [Qemu-devel] [PATCH 08/12] console: Clean up bytes per pixel calculation 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 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;