mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Fix scanline cache with scale factor change edge cases
This commit is contained in:
parent
5115c214eb
commit
c6d31bd954
4
CHANGES
4
CHANGES
|
@ -1,5 +1,7 @@
|
||||||
0.7.2: (Future)
|
0.7.2: (Future)
|
||||||
Bugfixes:
|
Emulation fixes:
|
||||||
|
- GBA Video: Fix scanline cache with scale factor change edge cases
|
||||||
|
Other fixes:
|
||||||
- Qt: More app metadata fixes
|
- Qt: More app metadata fixes
|
||||||
- Qt: Fix load recent from archive (fixes mgba.io/i/1325)
|
- Qt: Fix load recent from archive (fixes mgba.io/i/1325)
|
||||||
- LR35902: Fix disassembly of several CB-prefix instructions
|
- LR35902: Fix disassembly of several CB-prefix instructions
|
||||||
|
|
|
@ -539,6 +539,14 @@ static void GBAVideoSoftwareRendererDrawScanline(struct GBAVideoRenderer* render
|
||||||
dirty = true;
|
dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GBARegisterDISPCNTGetMode(softwareRenderer->dispcnt) != 0) {
|
||||||
|
if (softwareRenderer->cache[y].scale[0][0] != softwareRenderer->bg[2].sx ||
|
||||||
|
softwareRenderer->cache[y].scale[0][1] != softwareRenderer->bg[2].sy ||
|
||||||
|
softwareRenderer->cache[y].scale[1][0] != softwareRenderer->bg[3].sx ||
|
||||||
|
softwareRenderer->cache[y].scale[1][1] != softwareRenderer->bg[3].sy) {
|
||||||
|
dirty = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
softwareRenderer->cache[y].scale[0][0] = softwareRenderer->bg[2].sx;
|
softwareRenderer->cache[y].scale[0][0] = softwareRenderer->bg[2].sx;
|
||||||
softwareRenderer->cache[y].scale[0][1] = softwareRenderer->bg[2].sy;
|
softwareRenderer->cache[y].scale[0][1] = softwareRenderer->bg[2].sy;
|
||||||
softwareRenderer->cache[y].scale[1][0] = softwareRenderer->bg[3].sx;
|
softwareRenderer->cache[y].scale[1][0] = softwareRenderer->bg[3].sx;
|
||||||
|
|
Loading…
Reference in New Issue