diff options
author | BALATON Zoltan | 2020-06-20 22:56:28 +0200 |
---|---|---|
committer | Gerd Hoffmann | 2020-06-30 22:46:28 +0200 |
commit | ba27110fab0b7ba26ff6a36a7311481181dd83f8 (patch) | |
tree | d9b504b61dc76c3113bf6e8e40b2bf939ce17c2b /hw/display/sm501.c | |
parent | sm501: Optimise 1 pixel 2d ops (diff) | |
download | qemu-ba27110fab0b7ba26ff6a36a7311481181dd83f8.tar.gz qemu-ba27110fab0b7ba26ff6a36a7311481181dd83f8.tar.xz qemu-ba27110fab0b7ba26ff6a36a7311481181dd83f8.zip |
sm501: Use stn_he_p/ldn_he_p instead of switch/case
Instead of open coding op with different sizes using a switch and type
casting it can be written more compactly using stn_he_p/ldn_he_p.
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: e2f649cb286f0735a10ec87c1b36a7ae081acb61.1592686588.git.balaton@eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/display/sm501.c')
-rw-r--r-- | hw/display/sm501.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 2098e69810..6349f31e64 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -766,17 +766,7 @@ static void sm501_2d_operation(SM501State *s) for (y = 0; y < height; y++) { i = (dst_x + (dst_y + y) * dst_pitch) * bypp; for (x = 0; x < width; x++, i += bypp) { - switch (format) { - case 0: - d[i] = ~d[i]; - break; - case 1: - *(uint16_t *)&d[i] = ~*(uint16_t *)&d[i]; - break; - case 2: - *(uint32_t *)&d[i] = ~*(uint32_t *)&d[i]; - break; - } + stn_he_p(&d[i], bypp, ~ldn_he_p(&d[i], bypp)); } } } else { |