diff mbox

[v2,1/1] blizzard: Remove support for DEPTH != 32

Message ID 1457967850-8537-1-git-send-email-dhannawatpooja1@gmail.com
State New
Headers show

Commit Message

Pooja Dhannawat March 14, 2016, 3:04 p.m. UTC
Removing support for DEPTH != 32 from blizzard template header
and file that includes it, as macro DEPTH == 32 only used.

Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
---
 hw/display/blizzard.c          | 24 ------------------------
 hw/display/blizzard_template.h | 30 +-----------------------------
 2 files changed, 1 insertion(+), 53 deletions(-)

Comments

Peter Maydell March 14, 2016, 3:22 p.m. UTC | #1
On 14 March 2016 at 15:04, Pooja Dhannawat <dhannawatpooja1@gmail.com> wrote:
> Removing support for DEPTH != 32 from blizzard template header
> and file that includes it, as macro DEPTH == 32 only used.
>
> Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
> ---
>  hw/display/blizzard.c          | 24 ------------------------
>  hw/display/blizzard_template.h | 30 +-----------------------------
>  2 files changed, 1 insertion(+), 53 deletions(-)

> @@ -956,22 +948,6 @@ void *s1d13745_init(qemu_irq gpio_int)
>          s->line_fn_tab[0] = s->line_fn_tab[1] =
>                  g_malloc0(sizeof(blizzard_fn_t) * 0x10);
>          break;
> -    case 8:
> -        s->line_fn_tab[0] = blizzard_draw_fn_8;
> -        s->line_fn_tab[1] = blizzard_draw_fn_r_8;
> -        break;
> -    case 15:
> -        s->line_fn_tab[0] = blizzard_draw_fn_15;
> -        s->line_fn_tab[1] = blizzard_draw_fn_r_15;
> -        break;
> -    case 16:
> -        s->line_fn_tab[0] = blizzard_draw_fn_16;
> -        s->line_fn_tab[1] = blizzard_draw_fn_r_16;
> -        break;
> -    case 24:
> -        s->line_fn_tab[0] = blizzard_draw_fn_24;
> -        s->line_fn_tab[1] = blizzard_draw_fn_r_24;
> -        break;
>      case 32:
>          s->line_fn_tab[0] = blizzard_draw_fn_32;
>          s->line_fn_tab[1] = blizzard_draw_fn_r_32;

So are there any cases now when
surface_bits_per_pixel(qemu_console_surface(c)) can return
zero? (I don't understand the 'case 0' code in this switch
at all...)

thanks
-- PMM
Gerd Hoffmann March 18, 2016, 8:30 a.m. UTC | #2
On Mo, 2016-03-14 at 15:22 +0000, Peter Maydell wrote:
> On 14 March 2016 at 15:04, Pooja Dhannawat <dhannawatpooja1@gmail.com> wrote:
> > Removing support for DEPTH != 32 from blizzard template header
> > and file that includes it, as macro DEPTH == 32 only used.
> >
> > Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
> > ---
> >  hw/display/blizzard.c          | 24 ------------------------
> >  hw/display/blizzard_template.h | 30 +-----------------------------
> >  2 files changed, 1 insertion(+), 53 deletions(-)

> So are there any cases now when
> surface_bits_per_pixel(qemu_console_surface(c)) can return
> zero? (I don't understand the 'case 0' code in this switch
> at all...)

Looks like a somewhat strange way to zero-fill the function pointer
array.  Looks like a historical leftover.

As blizzard uses qemu_console_resize() you will always get a surface
with the default depth (32bpp).  So dropping the whole "switch { ... }"
block (except for the "case 32:" lines) and adding an
"assert(surface_bits_per_pixel(surface)==32)" should work just fine.

cheers,
  Gerd
Pooja Dhannawat March 18, 2016, 3:46 p.m. UTC | #3
On Friday, March 18, 2016, Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> On Mo, 2016-03-14 at 15:22 +0000, Peter Maydell wrote:
> > On 14 March 2016 at 15:04, Pooja Dhannawat <dhannawatpooja1@gmail.com>
wrote:
> > > Removing support for DEPTH != 32 from blizzard template header
> > > and file that includes it, as macro DEPTH == 32 only used.
> > >
> > > Signed-off-by: Pooja Dhannawat <dhannawatpooja1@gmail.com>
> > > ---
> > >  hw/display/blizzard.c          | 24 ------------------------
> > >  hw/display/blizzard_template.h | 30 +-----------------------------
> > >  2 files changed, 1 insertion(+), 53 deletions(-)
>
> > So are there any cases now when
> > surface_bits_per_pixel(qemu_console_surface(c)) can return
> > zero? (I don't understand the 'case 0' code in this switch
> > at all...)
>
> Looks like a somewhat strange way to zero-fill the function pointer
> array.  Looks like a historical leftover.
>
> As blizzard uses qemu_console_resize() you will always get a surface
> with the default depth (32bpp).  So dropping the whole "switch { ... }"
> block (except for the "case 32:" lines) and adding an
> "assert(surface_bits_per_pixel(surface)==32)" should work just fine.
>
Thank you Gerd, for clearing and helping with  above question.

>
> cheers,
>   Gerd
>
diff mbox

Patch

diff --git a/hw/display/blizzard.c b/hw/display/blizzard.c
index c231960..a72e789 100644
--- a/hw/display/blizzard.c
+++ b/hw/display/blizzard.c
@@ -925,14 +925,6 @@  static void blizzard_update_display(void *opaque)
     s->my[1] = 0;
 }
 
-#define DEPTH 8
-#include "blizzard_template.h"
-#define DEPTH 15
-#include "blizzard_template.h"
-#define DEPTH 16
-#include "blizzard_template.h"
-#define DEPTH 24
-#include "blizzard_template.h"
 #define DEPTH 32
 #include "blizzard_template.h"
 
@@ -956,22 +948,6 @@  void *s1d13745_init(qemu_irq gpio_int)
         s->line_fn_tab[0] = s->line_fn_tab[1] =
                 g_malloc0(sizeof(blizzard_fn_t) * 0x10);
         break;
-    case 8:
-        s->line_fn_tab[0] = blizzard_draw_fn_8;
-        s->line_fn_tab[1] = blizzard_draw_fn_r_8;
-        break;
-    case 15:
-        s->line_fn_tab[0] = blizzard_draw_fn_15;
-        s->line_fn_tab[1] = blizzard_draw_fn_r_15;
-        break;
-    case 16:
-        s->line_fn_tab[0] = blizzard_draw_fn_16;
-        s->line_fn_tab[1] = blizzard_draw_fn_r_16;
-        break;
-    case 24:
-        s->line_fn_tab[0] = blizzard_draw_fn_24;
-        s->line_fn_tab[1] = blizzard_draw_fn_r_24;
-        break;
     case 32:
         s->line_fn_tab[0] = blizzard_draw_fn_32;
         s->line_fn_tab[1] = blizzard_draw_fn_r_32;
diff --git a/hw/display/blizzard_template.h b/hw/display/blizzard_template.h
index b7ef27c..bc38d7a 100644
--- a/hw/display/blizzard_template.h
+++ b/hw/display/blizzard_template.h
@@ -19,31 +19,7 @@ 
  */
 
 #define SKIP_PIXEL(to)         (to += deststep)
-#if DEPTH == 8
-# define PIXEL_TYPE            uint8_t
-# define COPY_PIXEL(to, from)  do { *to = from; SKIP_PIXEL(to); } while (0)
-# define COPY_PIXEL1(to, from) (*to++ = from)
-#elif DEPTH == 15 || DEPTH == 16
-# define PIXEL_TYPE            uint16_t
-# define COPY_PIXEL(to, from)  do { *to = from; SKIP_PIXEL(to); } while (0)
-# define COPY_PIXEL1(to, from) (*to++ = from)
-#elif DEPTH == 24
-# define PIXEL_TYPE            uint8_t
-# define COPY_PIXEL(to, from) \
-    do {                      \
-        to[0] = from;         \
-        to[1] = (from) >> 8;  \
-        to[2] = (from) >> 16; \
-        SKIP_PIXEL(to);       \
-    } while (0)
-
-# define COPY_PIXEL1(to, from) \
-    do {                       \
-        *to++ = from;          \
-        *to++ = (from) >> 8;   \
-        *to++ = (from) >> 16;  \
-    } while (0)
-#elif DEPTH == 32
+#if DEPTH == 32
 # define PIXEL_TYPE            uint32_t
 # define COPY_PIXEL(to, from)  do { *to = from; SKIP_PIXEL(to); } while (0)
 # define COPY_PIXEL1(to, from) (*to++ = from)
@@ -58,9 +34,6 @@ 
 static void glue(blizzard_draw_line16_, DEPTH)(PIXEL_TYPE *dest,
                 const uint16_t *src, unsigned int width)
 {
-#if !defined(SWAP_WORDS) && DEPTH == 16
-    memcpy(dest, src, width);
-#else
     uint16_t data;
     unsigned int r, g, b;
     const uint16_t *end = (const void *) src + width;
@@ -74,7 +47,6 @@  static void glue(blizzard_draw_line16_, DEPTH)(PIXEL_TYPE *dest,
         data >>= 5;
         COPY_PIXEL1(dest, glue(rgb_to_pixel, DEPTH)(r, g, b));
     }
-#endif
 }
 
 static void glue(blizzard_draw_line24mode1_, DEPTH)(PIXEL_TYPE *dest,