diff --git a/GPU/GLES/Framebuffer.cpp b/GPU/GLES/Framebuffer.cpp index 8fe58a69c4..e6aa33ed6f 100644 --- a/GPU/GLES/Framebuffer.cpp +++ b/GPU/GLES/Framebuffer.cpp @@ -754,6 +754,7 @@ void FramebufferManager::SetLineWidth() { void FramebufferManager::CopyDisplayToOutput() { fbo_unbind(); + glstate.viewport.set(0, 0, PSP_CoreParameter().pixelWidth, PSP_CoreParameter().pixelHeight); currentRenderVfb_ = 0; VirtualFramebuffer *vfb = GetVFBAt(displayFramebufPtr_); @@ -769,7 +770,7 @@ void FramebufferManager::CopyDisplayToOutput() { } if (!vfb) { - // Just a pointer to plain memory to draw. Draw it. + // Just a pointer to plain memory to draw. Draw it. And make sure to set the viewport... DrawPixels(Memory::GetPointer(displayFramebufPtr_), displayFormat_, displayStride_); return; } diff --git a/GPU/GLES/GLES_GPU.cpp b/GPU/GLES/GLES_GPU.cpp index 1c1961bbcb..15bc5de829 100644 --- a/GPU/GLES/GLES_GPU.cpp +++ b/GPU/GLES/GLES_GPU.cpp @@ -1517,7 +1517,7 @@ void GLES_GPU::DoBlockTransfer() { return; } - // Do the copy! + // Do the copy! (Hm, if we detect a drawn video frame (see below) then we could maybe skip this?) for (int y = 0; y < height; y++) { const u8 *src = Memory::GetPointer(srcBasePtr + ((y + srcY) * srcStride + srcX) * bpp); u8 *dst = Memory::GetPointer(dstBasePtr + ((y + dstY) * dstStride + dstX) * bpp);