From 88656c9059962728a1778a75f687e6d0524cc696 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sat, 14 May 2016 18:12:42 +0600 Subject: [PATCH] Correct multisample texture resolving in FrameBufferList::renderBuffer. --- src/FrameBuffer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/FrameBuffer.cpp b/src/FrameBuffer.cpp index 7bddedfd..22b31164 100644 --- a/src/FrameBuffer.cpp +++ b/src/FrameBuffer.cpp @@ -977,15 +977,15 @@ void FrameBufferList::renderBuffer(u32 _address) render.clearColorBuffer(clearColor); GLenum filter = GL_LINEAR; - if (config.video.multisampling != 0 && pFilteredBuffer == pBuffer) { + if (pFilteredBuffer->m_pTexture->frameBufferTexture == CachedTexture::fbMultiSample) { if (X0 > 0 || dstPartHeight > 0 || (srcCoord[2] - srcCoord[0]) != (dstCoord[2] - dstCoord[0]) || (srcCoord[3] - srcCoord[1]) != (dstCoord[3] - dstCoord[1])) { - pBuffer->resolveMultisampledTexture(true); - glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_resolveFBO); + pFilteredBuffer->resolveMultisampledTexture(true); + glBindFramebuffer(GL_READ_FRAMEBUFFER, pFilteredBuffer->m_resolveFBO); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); } else { - glBindFramebuffer(GL_READ_FRAMEBUFFER, pBuffer->m_FBO); + glBindFramebuffer(GL_READ_FRAMEBUFFER, pFilteredBuffer->m_FBO); filter = GL_NEAREST; } } else