Message ID | 1457967850-8537-1-git-send-email-dhannawatpooja1@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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
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 --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,
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(-)