From a4e5d58459eb8f43eb8c230d6a3f084057cec1a5 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Thu, 31 Mar 2016 17:52:01 +0600 Subject: [PATCH] Fix scissor for post-processor. Fixed buck bumble: bars on top and bottom of the screen (regression) #919 --- src/FrameBuffer.cpp | 1 - src/PostProcessor.cpp | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/FrameBuffer.cpp b/src/FrameBuffer.cpp index ee2c8831..b6c580df 100644 --- a/src/FrameBuffer.cpp +++ b/src/FrameBuffer.cpp @@ -835,7 +835,6 @@ void FrameBufferList::renderBuffer(u32 _address) dstCoord[0] += 1; // workaround for Adreno's issue with glBindFramebuffer; #endif // GLESX - render.updateScissor(pBuffer); PostProcessor::get().doGammaCorrection(pBuffer); PostProcessor::get().doBlur(pBuffer); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); diff --git a/src/PostProcessor.cpp b/src/PostProcessor.cpp index 92a5bd46..baeb39f5 100644 --- a/src/PostProcessor.cpp +++ b/src/PostProcessor.cpp @@ -478,7 +478,7 @@ PostProcessor & PostProcessor::get() return processor; } -void _setGLState() { +void _setGLState(FrameBuffer * _pBuffer) { glDisable(GL_DEPTH_TEST); glDisable(GL_BLEND); @@ -499,13 +499,14 @@ void _setGLState() { glDisableVertexAttribArray(SC_NUMLIGHTS); glDisableVertexAttribArray(SC_MODIFY); glViewport(0, 0, video().getWidth(), video().getHeight()); + glScissor(0, 0, _pBuffer->m_pTexture->realWidth, _pBuffer->m_pTexture->realHeight); gSP.changed |= CHANGED_VIEWPORT; - gDP.changed |= CHANGED_RENDERMODE; + gDP.changed |= CHANGED_RENDERMODE | CHANGED_SCISSOR; } void PostProcessor::_preDraw(FrameBuffer * _pBuffer) { - _setGLState(); + _setGLState(_pBuffer); OGLVideo & ogl = video(); #ifdef GLES2