Tweaked the rasterizer to be about 10% faster in multi-threaded mode (2 or 3 threads), still far from optimal.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4308 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gabest11 committed 2011-02-17 18:22:47 +00:00
1 parent dea0f37ca9
commit 257d57ba52
11 files changed
+128 -130

No files matched your search

+3 -19
View File
@@ -1844,26 +1844,10 @@ void GSDrawScanlineCodeGenerator::Wrap(const Xmm& uv0, const Xmm& uv1)
// clamp.blend8(repeat, m_local.gd->t.mask);
if(m_cpu.has(util::Cpu::tSSE41))
{
vmovdqa(xmm0, ptr[&m_local.gd->t.mask]);
vmovdqa(xmm0, ptr[&m_local.gd->t.mask]);
vpblendvb(uv0, xmm1, xmm0);
vpblendvb(uv1, xmm6, xmm0);
}
else
{
vmovdqa(xmm0, ptr[&m_local.gd->t.invmask]);
vmovdqa(xmm4, xmm0);
vpand(uv0, xmm0);
vpandn(xmm0, xmm1);
vpor(uv0, xmm0);
vpand(uv1, xmm4);
vpandn(xmm4, xmm6);
vpor(uv1, xmm4);
}
vpblendvb(uv0, xmm1, xmm0);
vpblendvb(uv1, xmm6, xmm0);
}
}
else