diff --git a/src/gDP.cpp b/src/gDP.cpp index e0e8200c..04f68d2f 100644 --- a/src/gDP.cpp +++ b/src/gDP.cpp @@ -1302,6 +1302,9 @@ void LLETriangle::draw(bool _shade, bool _texture, bool _zbuffer, s32 * _pData) gSP.texture.level = _SHIFTR(_pData[0], 19, 3); const u32 tile = _SHIFTR(_pData[0], 16, 3); + if (tile != m_tile) + flush(0); + m_tile = tile; const int flip = (_pData[0] & 0x800000) >> 23; start(tile); diff --git a/src/gDP.h b/src/gDP.h index 7ae61633..48b62014 100644 --- a/src/gDP.h +++ b/src/gDP.h @@ -277,6 +277,7 @@ private: gDPTile *m_textureTileOrg[2]; f32 m_textureScaleOrg[2]; bool m_flushed{ true }; + u32 m_tile{ 0 }; }; void gDPSetOtherMode( u32 mode0, u32 mode1 );