[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/9] hw/display/pl110: Remove use of BITS from pl110_template.h
From: |
Peter Maydell |
Subject: |
[PATCH 3/9] hw/display/pl110: Remove use of BITS from pl110_template.h |
Date: |
Thu, 11 Feb 2021 14:15:09 +0000 |
BITS is always 32, so remove all uses of it from the template header,
by dropping the trailing '32' from the draw function names and
not constructing the name of rgb_to_pixel32() via the glue() macro.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/display/pl110_template.h | 20 +++----
hw/display/pl110.c | 113 ++++++++++++++++++------------------
2 files changed, 65 insertions(+), 68 deletions(-)
diff --git a/hw/display/pl110_template.h b/hw/display/pl110_template.h
index 0d8471db636..877419aa817 100644
--- a/hw/display/pl110_template.h
+++ b/hw/display/pl110_template.h
@@ -14,18 +14,18 @@
#endif
#if ORDER == 0
-#define NAME glue(glue(lblp_, BORDER), BITS)
+#define NAME glue(lblp_, BORDER)
#ifdef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
#elif ORDER == 1
-#define NAME glue(glue(bbbp_, BORDER), BITS)
+#define NAME glue(bbbp_, BORDER)
#ifndef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
#else
#define SWAP_PIXELS 1
-#define NAME glue(glue(lbbp_, BORDER), BITS)
+#define NAME glue(lbbp_, BORDER)
#ifdef HOST_WORDS_BIGENDIAN
#define SWAP_WORDS 1
#endif
@@ -174,14 +174,14 @@ static void glue(pl110_draw_line16_,NAME)(void *opaque,
uint8_t *d, const uint8_
MSB = (data & 0x1f) << 3;
data >>= 5;
#endif
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0x1f) << 3;
data >>= 5;
g = (data & 0x3f) << 2;
data >>= 6;
MSB = (data & 0x1f) << 3;
data >>= 5;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
@@ -211,7 +211,7 @@ static void glue(pl110_draw_line32_,NAME)(void *opaque,
uint8_t *d, const uint8_
g = (data >> 16) & 0xff;
MSB = (data >> 8) & 0xff;
#endif
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width--;
@@ -242,14 +242,14 @@ static void glue(pl110_draw_line16_555_,NAME)(void
*opaque, uint8_t *d, const ui
data >>= 5;
MSB = (data & 0x1f) << 3;
data >>= 5;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0x1f) << 3;
data >>= 5;
g = (data & 0x1f) << 3;
data >>= 5;
MSB = (data & 0x1f) << 3;
data >>= 6;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
@@ -280,14 +280,14 @@ static void glue(pl110_draw_line12_,NAME)(void *opaque,
uint8_t *d, const uint8_
data >>= 4;
MSB = (data & 0xf) << 4;
data >>= 8;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
LSB = (data & 0xf) << 4;
data >>= 4;
g = (data & 0xf) << 4;
data >>= 4;
MSB = (data & 0xf) << 4;
data >>= 8;
- COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ COPY_PIXEL(d, rgb_to_pixel32(r, g, b));
#undef MSB
#undef LSB
width -= 2;
diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index ce300662e8b..4bf15c1da51 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -123,7 +123,6 @@ static const unsigned char *idregs[] = {
pl111_id
};
-#define BITS 32
#define COPY_PIXEL(to, from) do { *(uint32_t *)to = from; to += 4; } while (0)
#undef RGB
@@ -145,65 +144,63 @@ static const unsigned char *idregs[] = {
#include "pl110_template.h"
#undef BORDER
-static drawfn pl110_draw_fn_32[48] = {
- pl110_draw_line1_lblp_bgr32,
- pl110_draw_line2_lblp_bgr32,
- pl110_draw_line4_lblp_bgr32,
- pl110_draw_line8_lblp_bgr32,
- pl110_draw_line16_555_lblp_bgr32,
- pl110_draw_line32_lblp_bgr32,
- pl110_draw_line16_lblp_bgr32,
- pl110_draw_line12_lblp_bgr32,
-
- pl110_draw_line1_bbbp_bgr32,
- pl110_draw_line2_bbbp_bgr32,
- pl110_draw_line4_bbbp_bgr32,
- pl110_draw_line8_bbbp_bgr32,
- pl110_draw_line16_555_bbbp_bgr32,
- pl110_draw_line32_bbbp_bgr32,
- pl110_draw_line16_bbbp_bgr32,
- pl110_draw_line12_bbbp_bgr32,
-
- pl110_draw_line1_lbbp_bgr32,
- pl110_draw_line2_lbbp_bgr32,
- pl110_draw_line4_lbbp_bgr32,
- pl110_draw_line8_lbbp_bgr32,
- pl110_draw_line16_555_lbbp_bgr32,
- pl110_draw_line32_lbbp_bgr32,
- pl110_draw_line16_lbbp_bgr32,
- pl110_draw_line12_lbbp_bgr32,
-
- pl110_draw_line1_lblp_rgb32,
- pl110_draw_line2_lblp_rgb32,
- pl110_draw_line4_lblp_rgb32,
- pl110_draw_line8_lblp_rgb32,
- pl110_draw_line16_555_lblp_rgb32,
- pl110_draw_line32_lblp_rgb32,
- pl110_draw_line16_lblp_rgb32,
- pl110_draw_line12_lblp_rgb32,
-
- pl110_draw_line1_bbbp_rgb32,
- pl110_draw_line2_bbbp_rgb32,
- pl110_draw_line4_bbbp_rgb32,
- pl110_draw_line8_bbbp_rgb32,
- pl110_draw_line16_555_bbbp_rgb32,
- pl110_draw_line32_bbbp_rgb32,
- pl110_draw_line16_bbbp_rgb32,
- pl110_draw_line12_bbbp_rgb32,
-
- pl110_draw_line1_lbbp_rgb32,
- pl110_draw_line2_lbbp_rgb32,
- pl110_draw_line4_lbbp_rgb32,
- pl110_draw_line8_lbbp_rgb32,
- pl110_draw_line16_555_lbbp_rgb32,
- pl110_draw_line32_lbbp_rgb32,
- pl110_draw_line16_lbbp_rgb32,
- pl110_draw_line12_lbbp_rgb32,
-};
-
-#undef BITS
#undef COPY_PIXEL
+static drawfn pl110_draw_fn_32[48] = {
+ pl110_draw_line1_lblp_bgr,
+ pl110_draw_line2_lblp_bgr,
+ pl110_draw_line4_lblp_bgr,
+ pl110_draw_line8_lblp_bgr,
+ pl110_draw_line16_555_lblp_bgr,
+ pl110_draw_line32_lblp_bgr,
+ pl110_draw_line16_lblp_bgr,
+ pl110_draw_line12_lblp_bgr,
+
+ pl110_draw_line1_bbbp_bgr,
+ pl110_draw_line2_bbbp_bgr,
+ pl110_draw_line4_bbbp_bgr,
+ pl110_draw_line8_bbbp_bgr,
+ pl110_draw_line16_555_bbbp_bgr,
+ pl110_draw_line32_bbbp_bgr,
+ pl110_draw_line16_bbbp_bgr,
+ pl110_draw_line12_bbbp_bgr,
+
+ pl110_draw_line1_lbbp_bgr,
+ pl110_draw_line2_lbbp_bgr,
+ pl110_draw_line4_lbbp_bgr,
+ pl110_draw_line8_lbbp_bgr,
+ pl110_draw_line16_555_lbbp_bgr,
+ pl110_draw_line32_lbbp_bgr,
+ pl110_draw_line16_lbbp_bgr,
+ pl110_draw_line12_lbbp_bgr,
+
+ pl110_draw_line1_lblp_rgb,
+ pl110_draw_line2_lblp_rgb,
+ pl110_draw_line4_lblp_rgb,
+ pl110_draw_line8_lblp_rgb,
+ pl110_draw_line16_555_lblp_rgb,
+ pl110_draw_line32_lblp_rgb,
+ pl110_draw_line16_lblp_rgb,
+ pl110_draw_line12_lblp_rgb,
+
+ pl110_draw_line1_bbbp_rgb,
+ pl110_draw_line2_bbbp_rgb,
+ pl110_draw_line4_bbbp_rgb,
+ pl110_draw_line8_bbbp_rgb,
+ pl110_draw_line16_555_bbbp_rgb,
+ pl110_draw_line32_bbbp_rgb,
+ pl110_draw_line16_bbbp_rgb,
+ pl110_draw_line12_bbbp_rgb,
+
+ pl110_draw_line1_lbbp_rgb,
+ pl110_draw_line2_lbbp_rgb,
+ pl110_draw_line4_lbbp_rgb,
+ pl110_draw_line8_lbbp_rgb,
+ pl110_draw_line16_555_lbbp_rgb,
+ pl110_draw_line32_lbbp_rgb,
+ pl110_draw_line16_lbbp_rgb,
+ pl110_draw_line12_lbbp_rgb,
+};
static int pl110_enabled(PL110State *s)
{
--
2.20.1
- [PATCH 0/9] hw/display/pl110, pxa2xx_lcd: Tidy up template headers, Peter Maydell, 2021/02/11
- [PATCH 1/9] hw/display/pl110: Remove dead code for non-32-bpp surfaces, Peter Maydell, 2021/02/11
- [PATCH 4/9] hw/display/pxa2xx_lcd: Remove dead code for non-32-bpp surfaces, Peter Maydell, 2021/02/11
- [PATCH 2/9] hw/display/pl110: Pull included-once parts of template header into pl110.c, Peter Maydell, 2021/02/11
- [PATCH 5/9] hw/display/pxa2xx_lcd: Remove dest_width state field, Peter Maydell, 2021/02/11
- [PATCH 3/9] hw/display/pl110: Remove use of BITS from pl110_template.h,
Peter Maydell <=
- [PATCH 7/9] hw/display/pxa2xx: Apply brace-related coding style fixes to template header, Peter Maydell, 2021/02/11
- [PATCH 6/9] hw/display/pxa2xx: Remove use of BITS in pxa2xx_template.h, Peter Maydell, 2021/02/11
- [PATCH 9/9] hw/display/pxa2xx: Inline template header, Peter Maydell, 2021/02/11
- [PATCH 8/9] hw/display/pxa2xx: Apply whitespace-only coding style fixes to template header, Peter Maydell, 2021/02/11
- Malfunctionning qemu-system-arm ?, vincent Dupaquis, 2021/02/15