mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-02-01 03:03:40 +00:00
Reset viewport in CopyDisplayToOutput. Fixes flickering video in non-1:1 resolutions in some games.
This commit is contained in:
parent
de39a81dce
commit
492fcb261b
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user