Skip to content
Permalink
Browse files

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.
  • Loading branch information...
lightningterror committed May 30, 2019
1 parent 8ff74fc commit 877a1121934a32ba91b3e60d475711e024039c81
@@ -136,7 +136,7 @@ GIFRegTEX0 GSDrawingContext::GetSizeFixedTEX0(int s_n, const GSVector4& st, bool
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,
// 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 @@ class alignas(32) GSDrawingContext
}

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;}

// 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
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
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
@@ -822,7 +822,7 @@ void GSRendererHW::Draw()

// Fix TEX0 size
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
// 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
ps_cb.WH.x = (float)(1 << m_context->stack.TEX0.TW);
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

0 comments on commit 877a112

Please sign in to comment.
You can’t perform that action at this time.