DS GX: Reset polygon attributes between buffer swaps

This commit is contained in:
Vicki Pfau 2017-04-10 21:16:05 -07:00
parent 3d25a10f3d
commit 940ba00182
2 changed files with 5 additions and 0 deletions

View File

@ -8,6 +8,7 @@ Bugfixes:
- DS Video: Capture with alpha bit set
- DS Video: Bitmap sprites use alpha bit for transparent
- DS GX: Fix 4-color texture coordinates
- DS GX: Reset polygon attributes between buffer swaps
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

View File

@ -1175,6 +1175,8 @@ static void _fifoRun(struct mTiming* timing, void* context, uint32_t cyclesLate)
memset(&gx->currentVertex, 0, sizeof(gx->currentVertex));
memset(&gx->nextPoly, 0, sizeof(gx-> nextPoly));
gx->currentVertex.color = 0x7FFF;
gx->currentPoly.polyParams = 0x001F00C0;
gx->nextPoly.polyParams = 0x001F00C0;
break;
case DS_GX_CMD_VIEWPORT:
gx->viewportX1 = (uint8_t) entry.params[0];
@ -1279,6 +1281,8 @@ void DSGXReset(struct DSGX* gx) {
memset(&gx->currentVertex, 0, sizeof(gx->currentVertex));
memset(&gx->nextPoly, 0, sizeof(gx-> nextPoly));
gx->currentVertex.color = 0x7FFF;
gx->currentPoly.polyParams = 0x001F00C0;
gx->nextPoly.polyParams = 0x001F00C0;
gx->dmaSource = -1;
}