Skip to content

Commit

Permalink
console: Clean up bytes per pixel calculation
Browse files Browse the repository at this point in the history
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 <balaton@eik.bme.hu>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
(cherry picked from commit feadf1a)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
  • Loading branch information
zbalaton authored and mdroth committed Oct 12, 2012
1 parent a0d718a commit c6553fe
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions console.c
Expand Up @@ -1611,7 +1611,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) {
Expand Down Expand Up @@ -1660,13 +1660,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;
Expand Down

0 comments on commit c6553fe

Please sign in to comment.