GX: always latch rendering engine registers even when not flushing (similar to hardware).

This commit is contained in:
StapleButter
2019-01-03 15:29:25 +01:00
parent 172c2eb229
commit 4601636788

View File

@ -2337,9 +2337,11 @@ bool YSort(Polygon* a, Polygon* b)
void VBlank() void VBlank()
{ {
if (GeometryEnabled && FlushRequest) if (GeometryEnabled)
{ {
if (RenderingEnabled) if (RenderingEnabled)
{
if (FlushRequest)
{ {
if (NumPolygons) if (NumPolygons)
{ {
@ -2363,6 +2365,7 @@ void VBlank()
} }
RenderNumPolygons = NumPolygons; RenderNumPolygons = NumPolygons;
}
RenderDispCnt = DispCnt; RenderDispCnt = DispCnt;
RenderAlphaRef = AlphaRef; RenderAlphaRef = AlphaRef;
@ -2381,6 +2384,8 @@ void VBlank()
RenderClearAttr2 = ClearAttr2; RenderClearAttr2 = ClearAttr2;
} }
if (FlushRequest)
{
CurRAMBank = CurRAMBank?0:1; CurRAMBank = CurRAMBank?0:1;
CurVertexRAM = &VertexRAM[CurRAMBank ? 6144 : 0]; CurVertexRAM = &VertexRAM[CurRAMBank ? 6144 : 0];
CurPolygonRAM = &PolygonRAM[CurRAMBank ? 2048 : 0]; CurPolygonRAM = &PolygonRAM[CurRAMBank ? 2048 : 0];
@ -2392,6 +2397,7 @@ void VBlank()
FlushRequest = 0; FlushRequest = 0;
} }
} }
}
void VCount215() void VCount215()
{ {