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:
lightningterror 2019-05-30 15:43:16 +02:00
parent 8ff74fc6c2
commit 877a112193
5 changed files with 9 additions and 3 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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