GS:HW: Properly use primid dst alpha as a fallback to barrier dst alpha

Even when we would have otherwise used barrier over primid if both were supported
This commit is contained in:
TellowKrinkle 2022-09-02 23:52:43 -05:00 committed by lightningterror
parent 979a105071
commit 80523828c7
1 changed files with 3 additions and 6 deletions

View File

@ -3452,16 +3452,13 @@ void GSRendererHW::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
GL_PERF("DATE: Fast with alpha %d-%d", GetAlphaMinMax().min, GetAlphaMinMax().max);
DATE_one = true;
}
else if ((m_vt.m_primclass == GS_SPRITE_CLASS && m_drawlist.size() < 50) || (m_index.tail < 100))
else if (features.texture_barrier && ((m_vt.m_primclass == GS_SPRITE_CLASS && m_drawlist.size() < 50) || (m_index.tail < 100)))
{
// texture barrier will split the draw call into n draw call. It is very efficient for
// few primitive draws. Otherwise it sucks.
GL_PERF("DATE: Accurate with alpha %d-%d", GetAlphaMinMax().min, GetAlphaMinMax().max);
if (features.texture_barrier)
{
m_conf.require_full_barrier = true;
DATE_BARRIER = true;
}
m_conf.require_full_barrier = true;
DATE_BARRIER = true;
}
else if (GSConfig.AccurateDATE)
{