peterdelevoryas / rpms / qemu

Forked from rpms/qemu 2 years ago
Clone

Blame 0182-console-Clean-up-bytes-per-pixel-calculation.patch

5544c1
From 9c6751bf2b2c817c3f52a638566b99125a0ba0f1 Mon Sep 17 00:00:00 2001
5544c1
From: BALATON Zoltan <balaton@eik.bme.hu>
5544c1
Date: Wed, 22 Aug 2012 17:19:42 +0200
5544c1
Subject: [PATCH] console: Clean up bytes per pixel calculation
5544c1
5544c1
Division with round up is the correct way to compute this even if the
5544c1
only case where division with round down gives incorrect result is
5544c1
probably 15 bpp. This case was explicitely patched up in one of these
5544c1
functions but was unhandled in the other. (I'm not sure about setting
5544c1
16 bpp for the 15bpp case either but I left that there for now.)
5544c1
5544c1
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
5544c1
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
5544c1
(cherry picked from commit feadf1a4de0d7468ffb671a2b9f681925469fa58)
5544c1
5544c1
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
5544c1
---
5544c1
 console.c | 5 ++---
5544c1
 1 file changed, 2 insertions(+), 3 deletions(-)
5544c1
5544c1
diff --git a/console.c b/console.c
5544c1
index 3b5cabb..8b5e21d 100644
5544c1
--- a/console.c
5544c1
+++ b/console.c
5544c1
@@ -1611,7 +1611,7 @@ PixelFormat qemu_different_endianness_pixelformat(int bpp)
5544c1
     memset(&pf, 0x00, sizeof(PixelFormat));
5544c1
 
5544c1
     pf.bits_per_pixel = bpp;
5544c1
-    pf.bytes_per_pixel = bpp / 8;
5544c1
+    pf.bytes_per_pixel = DIV_ROUND_UP(bpp, 8);
5544c1
     pf.depth = bpp == 32 ? 24 : bpp;
5544c1
 
5544c1
     switch (bpp) {
5544c1
@@ -1660,13 +1660,12 @@ PixelFormat qemu_default_pixelformat(int bpp)
5544c1
     memset(&pf, 0x00, sizeof(PixelFormat));
5544c1
 
5544c1
     pf.bits_per_pixel = bpp;
5544c1
-    pf.bytes_per_pixel = bpp / 8;
5544c1
+    pf.bytes_per_pixel = DIV_ROUND_UP(bpp, 8);
5544c1
     pf.depth = bpp == 32 ? 24 : bpp;
5544c1
 
5544c1
     switch (bpp) {
5544c1
         case 15:
5544c1
             pf.bits_per_pixel = 16;
5544c1
-            pf.bytes_per_pixel = 2;
5544c1
             pf.rmask = 0x00007c00;
5544c1
             pf.gmask = 0x000003E0;
5544c1
             pf.bmask = 0x0000001F;
5544c1
-- 
5544c1
1.7.12.1
5544c1