diff options
author | BALATON Zoltan | 2020-06-20 22:56:28 +0200 |
---|---|---|
committer | Gerd Hoffmann | 2020-06-30 22:46:28 +0200 |
commit | 1cb62e3666b48ac4c6a22340165e21439919908f (patch) | |
tree | 51d3b67b84f736d55ed402463512647063231a42 /hw | |
parent | sm501: Drop unneded variable (diff) | |
download | qemu-1cb62e3666b48ac4c6a22340165e21439919908f.tar.gz qemu-1cb62e3666b48ac4c6a22340165e21439919908f.tar.xz qemu-1cb62e3666b48ac4c6a22340165e21439919908f.zip |
sm501: Ignore no-op blits
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>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: a2a8214dd37344dfb65f1c343ace4cff2e94f3bb.1592686588.git.balaton@eik.bme.hu
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/display/sm501.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 5d2e019575..ad5a62bfab 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); |