mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-04 10:03:36 +00:00
Fix issues in ColorBufferToRDRAM::_prepareCopy:
* remove an optimization: don't update current buffer if it is the same for the current frame. This optimization causes crash in Zelda OOT pause screen with "aux buffer copy" enabled. * fix width calculation for aux buffers when "aux buffer copy" enabled.
This commit is contained in:
parent
fe869cf5d2
commit
e85e0f4a5f
|
@ -57,9 +57,6 @@ bool ColorBufferToRDRAM::_prepareCopy(u32& _startAddress)
|
||||||
if (_startAddress < pBuffer->m_startAddress)
|
if (_startAddress < pBuffer->m_startAddress)
|
||||||
_startAddress = pBuffer->m_startAddress;
|
_startAddress = pBuffer->m_startAddress;
|
||||||
|
|
||||||
if (m_frameCount == curFrame && pBuffer == m_pCurFrameBuffer && m_startAddress != _startAddress)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
const u32 numPixels = pBuffer->m_width * pBuffer->m_height;
|
const u32 numPixels = pBuffer->m_width * pBuffer->m_height;
|
||||||
if (numPixels == 0)
|
if (numPixels == 0)
|
||||||
return false;
|
return false;
|
||||||
|
@ -89,7 +86,7 @@ bool ColorBufferToRDRAM::_prepareCopy(u32& _startAddress)
|
||||||
|
|
||||||
u32 x0 = 0;
|
u32 x0 = 0;
|
||||||
u32 width;
|
u32 width;
|
||||||
if (config.frameBufferEmulation.nativeResFactor == 0) {
|
if (config.frameBufferEmulation.nativeResFactor == 0 && m_pCurFrameBuffer->m_scale != 1.0f) {
|
||||||
const u32 screenWidth = wnd.getWidth();
|
const u32 screenWidth = wnd.getWidth();
|
||||||
width = screenWidth;
|
width = screenWidth;
|
||||||
if (wnd.isAdjustScreen()) {
|
if (wnd.isAdjustScreen()) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user