mirror of https://github.com/PCSX2/pcsx2.git
GSdx-TC: Remove some old hacks
Previously, we only calculated the width of a single output circuit which lead to missing a single pixel from the other output circuit which in turn causes offset issues in Persona games, I have customized GetDisplayRect() to now also calculate the dimensions of the merged rectangle when both the output circuits are enabled through the PMODE register, so this hack is no longer needed. :) TL;DR - The above commit of mine accurately handles the offset issues by calculating union of the rects, removing this stupid hack. (not insulting any other developers, this stupid hack was mine :)
This commit is contained in:
parent
b56ff3fce7
commit
6c521c36dd
|
@ -416,11 +416,6 @@ void GSTextureCache::ScaleTexture(GSTexture* texture)
|
||||||
{
|
{
|
||||||
int width = m_renderer->GetDisplayRect(-1, true).width();
|
int width = m_renderer->GetDisplayRect(-1, true).width();
|
||||||
int height = m_renderer->GetDisplayRect(-1, true).height();
|
int height = m_renderer->GetDisplayRect(-1, true).height();
|
||||||
int real_height = static_cast<int>(round(m_renderer->GetInternalResolution().y / texture->GetScale().y));
|
|
||||||
|
|
||||||
// Fixes offset issues on Persona 3 (512x511) where real value of height is 512
|
|
||||||
if (real_height % height == 1)
|
|
||||||
height = real_height;
|
|
||||||
|
|
||||||
GSVector2i requested_resolution = m_renderer->GetCustomResolution();
|
GSVector2i requested_resolution = m_renderer->GetCustomResolution();
|
||||||
scale_factor.x = static_cast<float>(requested_resolution.x) / width;
|
scale_factor.x = static_cast<float>(requested_resolution.x) / width;
|
||||||
|
|
Loading…
Reference in New Issue