diff options
| author | NeoBrainX <NeoBrainX@gmail.com> | 2012-10-02 22:11:15 +0200 |
|---|---|---|
| committer | NeoBrainX <NeoBrainX@gmail.com> | 2012-11-19 13:10:32 +0100 |
| commit | b02bb7617fe5bdcda524d065b5601834e0a3ed4a (patch) | |
| tree | fb996e164bd077a1453b89927ee61502e01ebac6 /Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp | |
| parent | f88e7d3b73e99908e29b243c22210c4b8d47353b (diff) | |
Fix some fractional EFB scaling issues.
Diffstat (limited to 'Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp b/Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp index 090c1c7872..c883714daf 100644 --- a/Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp +++ b/Source/Core/VideoCommon/Src/FramebufferManagerBase.cpp @@ -10,8 +10,8 @@ XFBSourceBase *FramebufferManagerBase::m_realXFBSource; // Only used in Real XFB FramebufferManagerBase::VirtualXFBListType FramebufferManagerBase::m_virtualXFBList; // Only used in Virtual XFB mode const XFBSourceBase* FramebufferManagerBase::m_overlappingXFBArray[MAX_VIRTUAL_XFB]; -unsigned int FramebufferManagerBase::s_last_xfb_width; -unsigned int FramebufferManagerBase::s_last_xfb_height; +unsigned int FramebufferManagerBase::s_last_xfb_width = 1; +unsigned int FramebufferManagerBase::s_last_xfb_height = 1; FramebufferManagerBase::FramebufferManagerBase() { @@ -230,30 +230,30 @@ void FramebufferManagerBase::ReplaceVirtualXFB() } } -unsigned int FramebufferManagerBase::ScaleToVirtualXfbWidth(unsigned int width, unsigned int backbuffer_width) +int FramebufferManagerBase::ScaleToVirtualXfbWidth(int x, unsigned int backbuffer_width) { if (g_ActiveConfig.RealXFBEnabled()) - return width; + return x; if (g_ActiveConfig.b3DVision) { // This works, yet the version in the else doesn't. No idea why. - return width * backbuffer_width / FramebufferManagerBase::LastXfbWidth(); + return x * (int)backbuffer_width / (int)FramebufferManagerBase::LastXfbWidth(); } else - return width * Renderer::GetTargetRectangle().GetWidth() / FramebufferManagerBase::LastXfbWidth(); + return x * (int)Renderer::GetTargetRectangle().GetWidth() / (int)FramebufferManagerBase::LastXfbWidth(); } -unsigned int FramebufferManagerBase::ScaleToVirtualXfbHeight(unsigned int height, unsigned int backbuffer_height) +int FramebufferManagerBase::ScaleToVirtualXfbHeight(int y, unsigned int backbuffer_height) { if (g_ActiveConfig.RealXFBEnabled()) - return height; + return y; if (g_ActiveConfig.b3DVision) { // This works, yet the version in the else doesn't. No idea why. - return height * backbuffer_height / FramebufferManagerBase::LastXfbHeight(); + return y * (int)backbuffer_height / (int)FramebufferManagerBase::LastXfbHeight(); } else - return height * Renderer::GetTargetRectangle().GetHeight() / FramebufferManagerBase::LastXfbHeight(); + return y * (int)Renderer::GetTargetRectangle().GetHeight() / (int)FramebufferManagerBase::LastXfbHeight(); } |
