From 8c0aa1c8043d211a94f5cc72bcc09241a3d7a100 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Fri, 13 Feb 2015 18:29:15 +0600 Subject: [PATCH] Fix FrameBufferToRDRAM::CopyToRDRAM when multisampling is enabled. --- FrameBuffer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/FrameBuffer.cpp b/FrameBuffer.cpp index 0c7cad84..02d19ece 100644 --- a/FrameBuffer.cpp +++ b/FrameBuffer.cpp @@ -710,7 +710,11 @@ void FrameBufferToRDRAM::CopyToRDRAM( u32 address, bool bSync ) { glDisable(GL_SCISSOR_TEST); address = pBuffer->m_startAddress; - glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_FBO); + if (config.video.multisampling != 0) { + pBuffer->resolveMultisampledTexture(); + glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_resolveFBO); + } else + glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_FBO); glReadBuffer(GL_COLOR_ATTACHMENT0); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_FBO); GLuint attachment = GL_COLOR_ATTACHMENT0;