mirror of https://github.com/PCSX2/pcsx2.git
gsdx-hw: Remove no longer used linear parameter from ComputeFixedTEX0,
add an assert that m_target isn't handled with invalid_tex0 yet due to upscaling.
This commit is contained in:
parent
8ff74fc6c2
commit
877a112193
|
@ -136,7 +136,7 @@ GIFRegTEX0 GSDrawingContext::GetSizeFixedTEX0(int s_n, const GSVector4& st, bool
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSDrawingContext::ComputeFixedTEX0(const GSVector4& st, bool linear)
|
void GSDrawingContext::ComputeFixedTEX0(const GSVector4& st)
|
||||||
{
|
{
|
||||||
// It is quite complex to handle rescaling so this function is less stricter than GetSizeFixedTEX0,
|
// It is quite complex to handle rescaling so this function is less stricter than GetSizeFixedTEX0,
|
||||||
// therefore we remove the reduce optimization and we don't handle bilinear filtering which might create wrong interpolation at the border.
|
// therefore we remove the reduce optimization and we don't handle bilinear filtering which might create wrong interpolation at the border.
|
||||||
|
|
|
@ -147,7 +147,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
GIFRegTEX0 GetSizeFixedTEX0(int s_n, const GSVector4& st, bool linear, bool mipmap = false);
|
GIFRegTEX0 GetSizeFixedTEX0(int s_n, const GSVector4& st, bool linear, bool mipmap = false);
|
||||||
void ComputeFixedTEX0(const GSVector4& st, bool linear);
|
void ComputeFixedTEX0(const GSVector4& st);
|
||||||
bool HasFixedTEX0() const { return m_fixed_tex0;}
|
bool HasFixedTEX0() const { return m_fixed_tex0;}
|
||||||
|
|
||||||
// Save & Restore before/after draw allow to correct/optimize current register for current draw
|
// Save & Restore before/after draw allow to correct/optimize current register for current draw
|
||||||
|
|
|
@ -675,6 +675,9 @@ void GSRendererDX11::EmulateTextureSampler(const GSTextureCache::Source* tex)
|
||||||
// Use invalid size to denormalize ST coordinate
|
// Use invalid size to denormalize ST coordinate
|
||||||
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
|
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
|
||||||
ps_cb.WH.y = (float)(1 << m_context->stack.TEX0.TH);
|
ps_cb.WH.y = (float)(1 << m_context->stack.TEX0.TH);
|
||||||
|
|
||||||
|
// We can't handle m_target with invalid_tex0 atm due to upscaling
|
||||||
|
ASSERT(!tex->m_target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only enable clamping in CLAMP mode. REGION_CLAMP will be done manually in the shader
|
// Only enable clamping in CLAMP mode. REGION_CLAMP will be done manually in the shader
|
||||||
|
|
|
@ -822,7 +822,7 @@ void GSRendererHW::Draw()
|
||||||
|
|
||||||
// Fix TEX0 size
|
// Fix TEX0 size
|
||||||
if(PRIM->TME && !IsMipMapActive())
|
if(PRIM->TME && !IsMipMapActive())
|
||||||
m_context->ComputeFixedTEX0(m_vt.m_min.t.xyxy(m_vt.m_max.t), m_vt.IsLinear());
|
m_context->ComputeFixedTEX0(m_vt.m_min.t.xyxy(m_vt.m_max.t));
|
||||||
|
|
||||||
// skip alpha test if possible
|
// skip alpha test if possible
|
||||||
// Note: do it first so we know if frame/depth writes are masked
|
// Note: do it first so we know if frame/depth writes are masked
|
||||||
|
|
|
@ -785,6 +785,9 @@ void GSRendererOGL::EmulateTextureSampler(const GSTextureCache::Source* tex)
|
||||||
// Use invalid size to denormalize ST coordinate
|
// Use invalid size to denormalize ST coordinate
|
||||||
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
|
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
|
||||||
ps_cb.WH.y = (float)(1 << m_context->stack.TEX0.TH);
|
ps_cb.WH.y = (float)(1 << m_context->stack.TEX0.TH);
|
||||||
|
|
||||||
|
// We can't handle m_target with invalid_tex0 atm due to upscaling
|
||||||
|
ASSERT(!tex->m_target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only enable clamping in CLAMP mode. REGION_CLAMP will be done manually in the shader
|
// Only enable clamping in CLAMP mode. REGION_CLAMP will be done manually in the shader
|
||||||
|
|
Loading…
Reference in New Issue