mirror of https://github.com/PCSX2/pcsx2.git
GSDX-TextureCache: Add proper rounding when unscaling texture size
Fixes flickering issues on Dragon Ball Z Budokai Tenkaichi FMV's on custom resolution, might also help prevent some crashes on custom resolution.
This commit is contained in:
parent
c592ccb3e5
commit
d3ebd4b318
|
@ -1738,8 +1738,11 @@ void GSTextureCache::Target::Update()
|
|||
|
||||
GSVector2i t_size = m_texture->GetSize();
|
||||
GSVector2 t_scale = m_texture->GetScale();
|
||||
t_size.x = (int)((float)t_size.x/max(1.0f, t_scale.x));
|
||||
t_size.y = (int)((float)t_size.y/max(1.0f, t_scale.y));
|
||||
|
||||
//Avoids division by zero when calculating texture size.
|
||||
t_scale = GSVector2(max(1.0f, t_scale.x), max(1.0f, t_scale.y));
|
||||
t_size.x = lround(static_cast<float>(t_size.x) / t_scale.x);
|
||||
t_size.y = lround(static_cast<float>(t_size.y) / t_scale.y);
|
||||
|
||||
// Don't load above the GS memory
|
||||
int max_y_blocks = (MAX_BLOCKS - m_TEX0.TBP0) / max(1u, m_TEX0.TBW);
|
||||
|
|
Loading…
Reference in New Issue