Permalink
Browse files

Small fix for a bad block transfer in Soul Calibur

  • Loading branch information...
hrydgard committed Nov 1, 2017
1 parent 533f80a commit 41089ca2841d76554599c71dd4eab21f7d2f4a30
Showing with 4 additions and 0 deletions.
  1. +4 −0 GPU/Common/FramebufferCommon.cpp
@@ -2000,6 +2000,10 @@ void FramebufferManagerCommon::PackFramebufferSync_(VirtualFramebuffer *vfb, int
}
void FramebufferManagerCommon::ReadFramebufferToMemory(VirtualFramebuffer *vfb, bool sync, int x, int y, int w, int h) {
// Clamp to width. Sometimes block transfers can cause this to hit.
if (x + w >= vfb->width) {
w = vfb->width - x;

This comment has been minimized.

Show comment
Hide comment
@unknownbrackets

unknownbrackets Nov 5, 2017

Collaborator

Hm. In theory it should be bufferWidth? In case the game rendered into the gutter.

-[Unknown]

@unknownbrackets

unknownbrackets Nov 5, 2017

Collaborator

Hm. In theory it should be bufferWidth? In case the game rendered into the gutter.

-[Unknown]

This comment has been minimized.

Show comment
Hide comment
@hrydgard

hrydgard Nov 5, 2017

Owner

Oh, you're right. Fixing that up.

@hrydgard

hrydgard Nov 5, 2017

Owner

Oh, you're right. Fixing that up.

}
if (vfb) {
// We'll pseudo-blit framebuffers here to get a resized version of vfb.
OptimizeDownloadRange(vfb, x, y, w, h);

0 comments on commit 41089ca

Please sign in to comment.