mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
4decaad9d2
commit
1cb62e3666
|
@ -788,6 +788,11 @@ static void sm501_2d_operation(SM501State *s)
|
||||||
(rop2_source_is_pattern ?
|
(rop2_source_is_pattern ?
|
||||||
" with pattern source" : ""));
|
" 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 */
|
/* Check for overlaps, this could be made more exact */
|
||||||
uint32_t sb, se, db, de;
|
uint32_t sb, se, db, de;
|
||||||
sb = src_base + src_x + src_y * (width + src_pitch);
|
sb = src_base + src_x + src_y * (width + src_pitch);
|
||||||
|
|
Loading…
Reference in New Issue