[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 31/39] hw/display/pl110: Remove dead code for non-32-bpp surfaces
From: |
Peter Maydell |
Subject: |
[PULL 31/39] hw/display/pl110: Remove dead code for non-32-bpp surfaces |
Date: |
Fri, 12 Mar 2021 13:51:32 +0000 |
For a long time now the UI layer has guaranteed that the console
surface is always 32 bits per pixel. Remove the legacy dead
code from the pl110 display device which was handling the
possibility that the console surface was some other format.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20210211141515.8755-2-peter.maydell@linaro.org
---
hw/display/pl110.c | 53 +++++++---------------------------------------
1 file changed, 8 insertions(+), 45 deletions(-)
diff --git a/hw/display/pl110.c b/hw/display/pl110.c
index 02b0d45f062..a0d4126ce7f 100644
--- a/hw/display/pl110.c
+++ b/hw/display/pl110.c
@@ -123,14 +123,6 @@ static const unsigned char *idregs[] = {
pl111_id
};
-#define BITS 8
-#include "pl110_template.h"
-#define BITS 15
-#include "pl110_template.h"
-#define BITS 16
-#include "pl110_template.h"
-#define BITS 24
-#include "pl110_template.h"
#define BITS 32
#include "pl110_template.h"
@@ -144,9 +136,7 @@ static void pl110_update_display(void *opaque)
PL110State *s = (PL110State *)opaque;
SysBusDevice *sbd;
DisplaySurface *surface = qemu_console_surface(s->con);
- drawfn* fntable;
drawfn fn;
- int dest_width;
int src_width;
int bpp_offset;
int first;
@@ -158,33 +148,6 @@ static void pl110_update_display(void *opaque)
sbd = SYS_BUS_DEVICE(s);
- switch (surface_bits_per_pixel(surface)) {
- case 0:
- return;
- case 8:
- fntable = pl110_draw_fn_8;
- dest_width = 1;
- break;
- case 15:
- fntable = pl110_draw_fn_15;
- dest_width = 2;
- break;
- case 16:
- fntable = pl110_draw_fn_16;
- dest_width = 2;
- break;
- case 24:
- fntable = pl110_draw_fn_24;
- dest_width = 3;
- break;
- case 32:
- fntable = pl110_draw_fn_32;
- dest_width = 4;
- break;
- default:
- fprintf(stderr, "pl110: Bad color depth\n");
- exit(1);
- }
if (s->cr & PL110_CR_BGR)
bpp_offset = 0;
else
@@ -218,12 +181,13 @@ static void pl110_update_display(void *opaque)
}
}
- if (s->cr & PL110_CR_BEBO)
- fn = fntable[s->bpp + 8 + bpp_offset];
- else if (s->cr & PL110_CR_BEPO)
- fn = fntable[s->bpp + 16 + bpp_offset];
- else
- fn = fntable[s->bpp + bpp_offset];
+ if (s->cr & PL110_CR_BEBO) {
+ fn = pl110_draw_fn_32[s->bpp + 8 + bpp_offset];
+ } else if (s->cr & PL110_CR_BEPO) {
+ fn = pl110_draw_fn_32[s->bpp + 16 + bpp_offset];
+ } else {
+ fn = pl110_draw_fn_32[s->bpp + bpp_offset];
+ }
src_width = s->cols;
switch (s->bpp) {
@@ -247,7 +211,6 @@ static void pl110_update_display(void *opaque)
src_width <<= 2;
break;
}
- dest_width *= s->cols;
first = 0;
if (s->invalidate) {
framebuffer_update_memory_section(&s->fbsection,
@@ -258,7 +221,7 @@ static void pl110_update_display(void *opaque)
framebuffer_update_display(surface, &s->fbsection,
s->cols, s->rows,
- src_width, dest_width, 0,
+ src_width, s->cols * 4, 0,
s->invalidate,
fn, s->palette,
&first, &last);
--
2.20.1
- [PULL 34/39] hw/display/pxa2xx_lcd: Remove dead code for non-32-bpp surfaces, (continued)
- [PULL 34/39] hw/display/pxa2xx_lcd: Remove dead code for non-32-bpp surfaces, Peter Maydell, 2021/03/12
- [PULL 16/39] target/arm: Update WHILE for PREDDESC, Peter Maydell, 2021/03/12
- [PULL 23/39] hw/timer/sse-timer: Propagate eventual error in sse_timer_realize(), Peter Maydell, 2021/03/12
- [PULL 12/39] target/arm: Fix sve_punpk_p vs odd vector lengths, Peter Maydell, 2021/03/12
- [PULL 19/39] tests/acceptance/boot_linux_console: remove Armbian 19.11.3 bionic test for orangepi-pc machine, Peter Maydell, 2021/03/12
- [PULL 20/39] tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08, Peter Maydell, 2021/03/12
- [PULL 10/39] target/arm: Fix sve_uzp_p vs odd vector lengths, Peter Maydell, 2021/03/12
- [PULL 25/39] hw/arm/virt: KVM: The IPA lower bound is 32, Peter Maydell, 2021/03/12
- [PULL 22/39] tests/acceptance: drop ARMBIAN_ARTIFACTS_CACHED condition for orangepi-pc, cubieboard tests, Peter Maydell, 2021/03/12
- [PULL 30/39] tests/qtest: Test PWM fan RPM using MFT in PWM test, Peter Maydell, 2021/03/12
- [PULL 31/39] hw/display/pl110: Remove dead code for non-32-bpp surfaces,
Peter Maydell <=
- [PULL 32/39] hw/display/pl110: Pull included-once parts of template header into pl110.c, Peter Maydell, 2021/03/12
- [PULL 28/39] hw/arm: Add MFT device to NPCM7xx Soc, Peter Maydell, 2021/03/12
- [PULL 33/39] hw/display/pl110: Remove use of BITS from pl110_template.h, Peter Maydell, 2021/03/12
- [PULL 37/39] hw/display/pxa2xx: Apply brace-related coding style fixes to template header, Peter Maydell, 2021/03/12
- [PULL 38/39] hw/display/pxa2xx: Apply whitespace-only coding style fixes to template header, Peter Maydell, 2021/03/12
- [PULL 39/39] hw/display/pxa2xx: Inline template header, Peter Maydell, 2021/03/12
- [PULL 17/39] target/arm: Update sve reduction vs simd_desc, Peter Maydell, 2021/03/12
- [PULL 36/39] hw/display/pxa2xx: Remove use of BITS in pxa2xx_template.h, Peter Maydell, 2021/03/12