|
|
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 |
|