diff --git a/src/BufferCopy/ColorBufferToRDRAM.cpp b/src/BufferCopy/ColorBufferToRDRAM.cpp index 8030d4d0..fb086ddf 100644 --- a/src/BufferCopy/ColorBufferToRDRAM.cpp +++ b/src/BufferCopy/ColorBufferToRDRAM.cpp @@ -236,7 +236,7 @@ void ColorBufferToRDRAM::copyToRDRAM(u32 _address, bool _sync) return; if (!_prepareCopy(_address)) return; - if (config.frameBufferEmulation.copyToRDRAM == Config::CopyToRDRAM::ctDisable) + if (config.frameBufferEmulation.copyToRDRAM == Config::CopyToRDRAM::ctDisable && config.frameBufferEmulation.fbInfoDisabled != 0) return; const u32 numBytes = (m_pCurFrameBuffer->m_width*m_pCurFrameBuffer->m_height) << m_pCurFrameBuffer->m_size >> 1; diff --git a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp index cb0ccd47..a09a3303 100644 --- a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp +++ b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithBufferStorage.cpp @@ -19,7 +19,7 @@ ColorBufferReaderWithBufferStorage::~ColorBufferReaderWithBufferStorage() void ColorBufferReaderWithBufferStorage::_initBuffers() { - m_numPBO = config.frameBufferEmulation.copyToRDRAM; + m_numPBO = std::max(1u, config.frameBufferEmulation.copyToRDRAM); if (m_numPBO > _maxPBO) m_numPBO = _maxPBO; diff --git a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithPixelBuffer.cpp b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithPixelBuffer.cpp index b80cd78b..ac825de3 100644 --- a/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithPixelBuffer.cpp +++ b/src/Graphics/OpenGLContext/opengl_ColorBufferReaderWithPixelBuffer.cpp @@ -28,7 +28,7 @@ void ColorBufferReaderWithPixelBuffer::_destroyBuffers() void ColorBufferReaderWithPixelBuffer::_initBuffers() { - m_numPBO = config.frameBufferEmulation.copyToRDRAM; + m_numPBO = std::max(1u, config.frameBufferEmulation.copyToRDRAM); if (m_numPBO > _maxPBO) m_numPBO = _maxPBO;