qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
@ 2012-08-22 15:19 BALATON Zoltan
  2012-08-22 15:32 ` Jan Kiszka
  2012-08-24 11:16 ` [Qemu-devel] " Stefan Hajnoczi
  0 siblings, 2 replies; 9+ messages in thread
From: BALATON Zoltan @ 2012-08-22 15:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 15:19 [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel BALATON Zoltan
@ 2012-08-22 15:32 ` Jan Kiszka
  2012-08-22 16:29   ` Stefan Weil
  2012-08-24 11:16 ` [Qemu-devel] " Stefan Hajnoczi
  1 sibling, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2012-08-22 15:32 UTC (permalink / raw)
  To: BALATON Zoltan; +Cc: qemu-trivial, qemu-devel

On 2012-08-22 17:19, BALATON Zoltan wrote:
> 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>
> ---
>  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;

Removed unintentionally?

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 15:32 ` Jan Kiszka
@ 2012-08-22 16:29   ` Stefan Weil
  2012-08-22 16:44     ` Jan Kiszka
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Weil @ 2012-08-22 16:29 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: qemu-trivial, qemu-devel, BALATON Zoltan

Am 22.08.2012 17:32, schrieb Jan Kiszka:
> On 2012-08-22 17:19, BALATON Zoltan wrote:
>> 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>
>> ---
>>   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;
> Removed unintentionally?
>
> Jan

15 bpp no longer needs special handling because
the computation above is fixed by the same patch,
so the removal is correct.

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 16:29   ` Stefan Weil
@ 2012-08-22 16:44     ` Jan Kiszka
  2012-08-22 16:56       ` Jan Kiszka
  2012-08-24 11:20       ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
  0 siblings, 2 replies; 9+ messages in thread
From: Jan Kiszka @ 2012-08-22 16:44 UTC (permalink / raw)
  To: Stefan Weil
  Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org, BALATON Zoltan

On 2012-08-22 18:29, Stefan Weil wrote:
> Am 22.08.2012 17:32, schrieb Jan Kiszka:
>> On 2012-08-22 17:19, BALATON Zoltan wrote:
>>> 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>
>>> ---
>>>   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;
>> Removed unintentionally?
>>
>> Jan
> 
> 15 bpp no longer needs special handling because
> the computation above is fixed by the same patch,
> so the removal is correct.

Ok, actually starting to look at this code: This is apparently a code
cleanup, not a bug fix like the subject suggests. No valid input for
could have actually triggered the round-up issue. Please declare it as
such. Bonus for abort() on the invalid default cases.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 16:44     ` Jan Kiszka
@ 2012-08-22 16:56       ` Jan Kiszka
  2012-08-24 11:20       ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
  1 sibling, 0 replies; 9+ messages in thread
From: Jan Kiszka @ 2012-08-22 16:56 UTC (permalink / raw)
  To: Stefan Weil
  Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org, BALATON Zoltan

On 2012-08-22 18:44, Jan Kiszka wrote:
> On 2012-08-22 18:29, Stefan Weil wrote:
>> Am 22.08.2012 17:32, schrieb Jan Kiszka:
>>> On 2012-08-22 17:19, BALATON Zoltan wrote:
>>>> 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>
>>>> ---
>>>>   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;
>>> Removed unintentionally?
>>>
>>> Jan
>>
>> 15 bpp no longer needs special handling because
>> the computation above is fixed by the same patch,
>> so the removal is correct.
> 
> Ok, actually starting to look at this code: This is apparently a code
> cleanup, not a bug fix like the subject suggests. No valid input for
> could have actually triggered the round-up issue. Please declare it as
> such. Bonus for abort() on the invalid default cases.

Well, do not abort on bpp == 0, the curses case.

Also, qemu_different_endianness_pixelformat is currently only called
with 16 or 32 bpp (see vga.c), but only handles 24 and 32. Fishy...

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 15:19 [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel BALATON Zoltan
  2012-08-22 15:32 ` Jan Kiszka
@ 2012-08-24 11:16 ` Stefan Hajnoczi
  1 sibling, 0 replies; 9+ messages in thread
From: Stefan Hajnoczi @ 2012-08-24 11:16 UTC (permalink / raw)
  To: BALATON Zoltan; +Cc: qemu-trivial, qemu-devel

On Wed, Aug 22, 2012 at 05:19:42PM +0200, BALATON Zoltan wrote:
> 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>
> ---
>  console.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
>  v2: Use DIV_ROUND_UP and extended commit message

Thanks, applied to the trivial patches tree:
https://github.com/stefanha/qemu/commits/trivial-patches

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [Qemu-trivial] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-22 16:44     ` Jan Kiszka
  2012-08-22 16:56       ` Jan Kiszka
@ 2012-08-24 11:20       ` Stefan Hajnoczi
  2012-08-24 11:21         ` Jan Kiszka
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Hajnoczi @ 2012-08-24 11:20 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: qemu-trivial@nongnu.org, Stefan Weil, qemu-devel@nongnu.org,
	BALATON Zoltan

On Wed, Aug 22, 2012 at 06:44:08PM +0200, Jan Kiszka wrote:
> On 2012-08-22 18:29, Stefan Weil wrote:
> > Am 22.08.2012 17:32, schrieb Jan Kiszka:
> >> On 2012-08-22 17:19, BALATON Zoltan wrote:
> >>> 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>
> >>> ---
> >>>   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;
> >> Removed unintentionally?
> >>
> >> Jan
> > 
> > 15 bpp no longer needs special handling because
> > the computation above is fixed by the same patch,
> > so the removal is correct.
> 
> Ok, actually starting to look at this code: This is apparently a code
> cleanup, not a bug fix like the subject suggests. No valid input for
> could have actually triggered the round-up issue. Please declare it as
> such. Bonus for abort() on the invalid default cases.

I have updated the commit message to "console: Clean up bytes per pixel
calculation".

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [Qemu-trivial] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-24 11:20       ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
@ 2012-08-24 11:21         ` Jan Kiszka
  2012-08-24 11:53           ` Stefan Hajnoczi
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2012-08-24 11:21 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: qemu-trivial@nongnu.org, Stefan Weil, qemu-devel@nongnu.org,
	BALATON Zoltan

On 2012-08-24 13:20, Stefan Hajnoczi wrote:
> On Wed, Aug 22, 2012 at 06:44:08PM +0200, Jan Kiszka wrote:
>> On 2012-08-22 18:29, Stefan Weil wrote:
>>> Am 22.08.2012 17:32, schrieb Jan Kiszka:
>>>> On 2012-08-22 17:19, BALATON Zoltan wrote:
>>>>> 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>
>>>>> ---
>>>>>   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;
>>>> Removed unintentionally?
>>>>
>>>> Jan
>>>
>>> 15 bpp no longer needs special handling because
>>> the computation above is fixed by the same patch,
>>> so the removal is correct.
>>
>> Ok, actually starting to look at this code: This is apparently a code
>> cleanup, not a bug fix like the subject suggests. No valid input for
>> could have actually triggered the round-up issue. Please declare it as
>> such. Bonus for abort() on the invalid default cases.
> 
> I have updated the commit message to "console: Clean up bytes per pixel
> calculation".

I think there was a v3 on the list, didn't check the details yet, though.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Qemu-devel] [Qemu-trivial] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel
  2012-08-24 11:21         ` Jan Kiszka
@ 2012-08-24 11:53           ` Stefan Hajnoczi
  0 siblings, 0 replies; 9+ messages in thread
From: Stefan Hajnoczi @ 2012-08-24 11:53 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: qemu-trivial@nongnu.org, Stefan Weil, qemu-devel@nongnu.org,
	BALATON Zoltan

On Fri, Aug 24, 2012 at 12:21 PM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
> On 2012-08-24 13:20, Stefan Hajnoczi wrote:
>> On Wed, Aug 22, 2012 at 06:44:08PM +0200, Jan Kiszka wrote:
>>> On 2012-08-22 18:29, Stefan Weil wrote:
>>>> Am 22.08.2012 17:32, schrieb Jan Kiszka:
>>>>> On 2012-08-22 17:19, BALATON Zoltan wrote:
>>>>>> 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>
>>>>>> ---
>>>>>>   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;
>>>>> Removed unintentionally?
>>>>>
>>>>> Jan
>>>>
>>>> 15 bpp no longer needs special handling because
>>>> the computation above is fixed by the same patch,
>>>> so the removal is correct.
>>>
>>> Ok, actually starting to look at this code: This is apparently a code
>>> cleanup, not a bug fix like the subject suggests. No valid input for
>>> could have actually triggered the round-up issue. Please declare it as
>>> such. Bonus for abort() on the invalid default cases.
>>
>> I have updated the commit message to "console: Clean up bytes per pixel
>> calculation".
>
> I think there was a v3 on the list, didn't check the details yet, though.

Yes but it just adds more stuff that should be in separate patches.
Let's take v2 and additional changes can be done separately.

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-08-24 11:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-22 15:19 [Qemu-devel] [PATCH v2] console: Correct computation of bytes per pixel from bits per pixel BALATON Zoltan
2012-08-22 15:32 ` Jan Kiszka
2012-08-22 16:29   ` Stefan Weil
2012-08-22 16:44     ` Jan Kiszka
2012-08-22 16:56       ` Jan Kiszka
2012-08-24 11:20       ` [Qemu-devel] [Qemu-trivial] " Stefan Hajnoczi
2012-08-24 11:21         ` Jan Kiszka
2012-08-24 11:53           ` Stefan Hajnoczi
2012-08-24 11:16 ` [Qemu-devel] " Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).