[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 3/4] sm501: Ignore no-op blits
From: |
Gerd Hoffmann |
Subject: |
[PULL 3/4] sm501: Ignore no-op blits |
Date: |
Mon, 15 Jun 2020 17:14:48 +0200 |
From: BALATON Zoltan <balaton@eik.bme.hu>
Some guests seem to try source copy blits with same source and dest
which are no-op so avoid calling pixman for these.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-id:
b62681e58108651b2ca0d2fdbde8281e87185dbb.1591471056.git.balaton@eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/display/sm501.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index 85d54b598f80..3397ca9fbf4c 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -788,6 +788,11 @@ static void sm501_2d_operation(SM501State *s)
(rop2_source_is_pattern ?
" with pattern source" : ""));
}
+ /* Ignore no-op blits, some guests seem to do this */
+ if (src_base == dst_base && src_pitch == dst_pitch &&
+ src_x == dst_x && src_y == dst_y) {
+ break;
+ }
/* Check for overlaps, this could be made more exact */
uint32_t sb, se, db, de;
sb = src_base + src_x + src_y * (width + src_pitch);
--
2.18.4
- [PULL 0/4] Vga 20200615 patches, Gerd Hoffmann, 2020/06/15
- [PULL 2/4] sm501: Drop unneded variable, Gerd Hoffmann, 2020/06/15
- [PULL 3/4] sm501: Ignore no-op blits,
Gerd Hoffmann <=
- [PULL 4/4] sm501: Optimise 1 pixel 2d ops, Gerd Hoffmann, 2020/06/15
- [PULL 1/4] sm501: Fix bounds checks, Gerd Hoffmann, 2020/06/15
- Re: [PULL 0/4] Vga 20200615 patches, Peter Maydell, 2020/06/15
- Re: [PULL 0/4] Vga 20200615 patches, BALATON Zoltan, 2020/06/15