DS Video: Fix affine transformations in video capture
Vicki Pfau vi@endrift.com
Wed, 12 Apr 2017 17:57:34 -0700
2 files changed,
6 insertions(+),
4 deletions(-)
M
CHANGES
→
CHANGES
@@ -16,6 +16,7 @@ - DS GX: Hack around writing to a full FIFO that has a swap pending (fixes mgba.io/i/608)
- DS Video: Enable overflow bit on extended affine modes - DS Video: Fix extended mode 0 without extended palettes - DS Video: Fix caputre stride + - DS Video: Fix affine transformations in video capture Misc: - DS: Set boot complete bit in RAM on boot (fixes mgba.io/i/576, mgba.io/i/580, mgba.io/i/586) - DS Memory: Ensure DS9 I/O is 8-byte aligned
M
src/ds/renderers/software.c
→
src/ds/renderers/software.c
@@ -379,6 +379,11 @@ int spriteLayers = GBAVideoSoftwareRendererPreprocessSpriteLayer(softwareRenderer, y);
memset(softwareRenderer->alphaA, softwareRenderer->blda, sizeof(softwareRenderer->alphaA)); memset(softwareRenderer->alphaB, softwareRenderer->bldb, sizeof(softwareRenderer->alphaB)); + softwareRenderer->bg[2].sx = softwareRenderer->bg[2].dmx * y; + softwareRenderer->bg[2].sy = softwareRenderer->bg[2].dmy * y; + softwareRenderer->bg[3].sx = softwareRenderer->bg[3].dmx * y; + softwareRenderer->bg[3].sy = softwareRenderer->bg[3].dmy * y; + int w; unsigned priority; for (priority = 0; priority < 4; ++priority) {@@ -477,10 +482,6 @@ }
} } } - softwareRenderer->bg[2].sx += softwareRenderer->bg[2].dmx; - softwareRenderer->bg[2].sy += softwareRenderer->bg[2].dmy; - softwareRenderer->bg[3].sx += softwareRenderer->bg[3].dmx; - softwareRenderer->bg[3].sy += softwareRenderer->bg[3].dmy; GBAVideoSoftwareRendererPostprocessBuffer(softwareRenderer); }