diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp index a58eb10fff..1504ae3712 100644 --- a/Core/HLE/sceDisplay.cpp +++ b/Core/HLE/sceDisplay.cpp @@ -407,9 +407,11 @@ void hleEnterVblank(u64 userdata, int cyclesLate) { // TODO: Should this be done here or in hleLeaveVblank? if (framebufIsLatched) { DEBUG_LOG(HLE, "Setting latched framebuffer %08x (prev: %08x)", latchedFramebuf.topaddr, framebuf.topaddr); - framebuf = latchedFramebuf; - framebufIsLatched = false; - gpu->SetDisplayFramebuffer(framebuf.topaddr, framebuf.pspFramebufLinesize, framebuf.pspFramebufFormat); + if (latchedFramebuf.topaddr != framebuf.topaddr) { + framebuf = latchedFramebuf; + framebufIsLatched = false; + gpu->SetDisplayFramebuffer(framebuf.topaddr, framebuf.pspFramebufLinesize, framebuf.pspFramebufFormat); + } } gpuStats.numVBlanks++;