diff --git a/GPU/GLES/Framebuffer.cpp b/GPU/GLES/Framebuffer.cpp index 7dfe3cd491..882b4a1903 100644 --- a/GPU/GLES/Framebuffer.cpp +++ b/GPU/GLES/Framebuffer.cpp @@ -752,10 +752,11 @@ void FramebufferManager::ResizeFramebufFBO(VirtualFramebuffer *vfb, u16 w, u16 h // In case it gets thin and wide, don't resize down either side. vfb->bufferWidth = std::max(vfb->bufferWidth, w); vfb->bufferHeight = std::max(vfb->bufferHeight, h); - vfb->renderWidth = vfb->bufferWidth * renderWidthFactor; - vfb->renderHeight = vfb->bufferHeight * renderHeightFactor; } + vfb->renderWidth = vfb->bufferWidth * renderWidthFactor; + vfb->renderHeight = vfb->bufferHeight * renderHeightFactor; + if (g_Config.bTrueColor) { vfb->colorDepth = FBO_8888; } else { @@ -776,6 +777,9 @@ void FramebufferManager::ResizeFramebufFBO(VirtualFramebuffer *vfb, u16 w, u16 h } } + textureCache_->ForgetLastTexture(); + fbo_unbind(); + if (!useBufferedRendering_) { if (vfb->fbo) { fbo_destroy(vfb->fbo); @@ -895,7 +899,6 @@ void FramebufferManager::DoSetRenderFrameBuffer() { // None found? Create one. if (!vfb) { - textureCache_->ForgetLastTexture(); vfb = new VirtualFramebuffer(); vfb->fbo = 0; vfb->fb_address = fb_address;