Permalink
Browse files

DS GX: Reset polygon attributes between buffer swaps

  • Loading branch information...
endrift committed Apr 11, 2017
1 parent 3d25a10 commit 940ba00182ac35886da977adc82fc531601b3d34
Showing with 5 additions and 0 deletions.
  1. +1 −0 CHANGES
  2. +4 −0 src/ds/gx.c
View
@@ -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
@@ -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;
}

0 comments on commit 940ba00

Please sign in to comment.