From 6ad1d1d3a54ef54bff38ac70236261bafb7e7d38 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sun, 20 Sep 2015 20:09:59 +0600 Subject: [PATCH] Correct FrameBufferList::correctHeight() : do not change buffer if new buffer height is the same as the current one. --- src/FrameBuffer.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/FrameBuffer.cpp b/src/FrameBuffer.cpp index 6e931627..ceaef888 100644 --- a/src/FrameBuffer.cpp +++ b/src/FrameBuffer.cpp @@ -382,13 +382,14 @@ void FrameBufferList::correctHeight() return; } if (m_pCurrent->m_needHeightCorrection && m_pCurrent->m_width == gDP.scissor.lrx) { - m_pCurrent->reinit((u32)gDP.scissor.lry); - - if (m_pCurrent->_isMarioTennisScoreboard()) - g_RDRAMtoFB.CopyFromRDRAM(m_pCurrent->m_startAddress + 4, false); + if (m_pCurrent->m_height != gDP.scissor.lry) { + m_pCurrent->reinit((u32)gDP.scissor.lry); + if (m_pCurrent->_isMarioTennisScoreboard()) + g_RDRAMtoFB.CopyFromRDRAM(m_pCurrent->m_startAddress + 4, false); + gSP.changed |= CHANGED_VIEWPORT; + } m_pCurrent->m_needHeightCorrection = false; - gSP.changed |= CHANGED_VIEWPORT; } }