diff options
| author | Scott Mansell <phiren@gmail.com> | 2013-11-24 00:15:08 +1300 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2013-11-24 00:15:08 +1300 |
| commit | afe47ff8479ceb816e54aab2523cb6cccf046923 (patch) | |
| tree | f2e6cddbb6642fe54777cec713161b5936e265ea /Source/Core/VideoBackends/Software/Src/EfbInterface.cpp | |
| parent | e720ea78372f3eda9baf6c7b3f79a5feed06b92d (diff) | |
Increase res of color texture to match PAL Super Smash Bros: Brawl
The pal version of SSBB has a 640x568 xfb, which is larger than the efb.
Increase the size of the static textures and put in some runtime checks
to prevent buffer overruns.
Diffstat (limited to 'Source/Core/VideoBackends/Software/Src/EfbInterface.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/Src/EfbInterface.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Software/Src/EfbInterface.cpp b/Source/Core/VideoBackends/Software/Src/EfbInterface.cpp index e3b3481b8a..8fdcb5fa04 100644 --- a/Source/Core/VideoBackends/Software/Src/EfbInterface.cpp +++ b/Source/Core/VideoBackends/Software/Src/EfbInterface.cpp @@ -551,6 +551,11 @@ namespace EfbInterface // Like CopyToXFB, but we copy directly into the opengl colour texture without going via Gamecube main memory or doing a yuyv conversion void BypassXFB(u8* texture, u32 fbWidth, u32 fbHeight, const EFBRectangle& sourceRc, float Gamma) { + if(fbWidth*fbHeight > 640*568) { + ERROR_LOG(VIDEO, "Framebuffer is too large: %ix%i", fbWidth, fbHeight); + return; + } + u32 color; u8* colorPtr = (u8*)&color; u32* texturePtr = (u32*)texture; |
