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