DS GX: Fix stencil buffer

This commit is contained in:
Vicki Pfau 2017-03-22 15:40:14 -07:00
parent d03528d4da
commit d221f8fd8b
1 changed files with 2 additions and 2 deletions

View File

@ -616,7 +616,7 @@ static void _drawSpan(struct DSGXSoftwareRenderer* softwareRenderer, struct DSGX
ab = b;
}
if (a == 0x1F) {
if (!(s == 0x40 || (stencil[x] & 0x40))) {
if (!(s & 0x40) || (s & 0x3F && !(stencil[x] & 0x40))) {
depth[x] = span->ep[0].coord[softwareRenderer->sort];
scanline[x] = color;
s &= ~0x40;
@ -629,7 +629,7 @@ static void _drawSpan(struct DSGXSoftwareRenderer* softwareRenderer, struct DSGX
color |= ab << 27;
}
if (stencil[x] != s) {
if (!(s == 0x40 || (stencil[x] & 0x40))) {
if (!(s & 0x40) || (s & 0x3F && !(stencil[x] & 0x40))) {
if (DSGXPolygonAttrsIsUpdateDepth(span->poly->poly->polyParams)) {
depth[x] = span->ep[0].coord[softwareRenderer->sort];
}