Change check in DoBlockTransfer to catch some more videos.

This commit is contained in:
Henrik Rydgard 2013-06-06 10:30:05 +02:00
parent 2102e79ad7
commit 0d0148dad3
2 changed files with 7 additions and 1 deletions

View File

@ -1010,8 +1010,11 @@ void GLES_GPU::DoBlockTransfer() {
// the backbuffer. Detect this and have the framebuffermanager draw the pixels.
u32 backBuffer = framebufferManager_.PrevDisplayFramebufAddr();
u32 displayBuffer = framebufferManager_.DisplayFramebufAddr();
if (backBuffer != 0 && dstBasePtr == backBuffer && width == 512 && height == 272) {
if ((backBuffer != 0 && dstBasePtr == backBuffer) ||
(displayBuffer != 0 && dstBasePtr == displayBuffer) &&
dstStride == 512 && height == 272) {
framebufferManager_.DrawPixels(Memory::GetPointer(dstBasePtr), 3, 512);
}
}

View File

@ -111,6 +111,9 @@ public:
u32 PrevDisplayFramebufAddr() {
return prevDisplayFramebuf_ ? (0x04000000 | prevDisplayFramebuf_->fb_address) : 0;
}
u32 DisplayFramebufAddr() {
return displayFramebuf_ ? (0x04000000 | displayFramebuf_->fb_address) : 0;
}
private:
u32 ramDisplayFramebufPtr_; // workaround for MotoGP insanity