mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-11-11 16:50:05 +01:00
GSdx: Better multi-threading for the sw renderer. Threads must be synchronized lot less, 1/10th in average, can run parallel longer and uses more cpu (bit more empty spinning, too). There could be some new bugs, as usual.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4992 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
1 parent
4b77052d21
commit
f318e84aca
20 files changed
+980
-818
No files matched your search
@@ -301,6 +301,11 @@ void GPUDrawScanlineCodeGenerator::SampleTexture()
|
||||
return;
|
||||
}
|
||||
|
||||
if(m_sel.tlu)
|
||||
{
|
||||
mov(edx, ptr[&m_local.gd->clut]);
|
||||
}
|
||||
|
||||
// xmm2 = s
|
||||
// xmm3 = t
|
||||
// xmm7 = test
|
||||
@@ -953,7 +958,7 @@ void GPUDrawScanlineCodeGenerator::ReadTexel(const Xmm& dst, const Xmm& addr)
|
||||
|
||||
if(m_sel.tlu) movzx(eax, byte[esi + eax]);
|
||||
|
||||
const Address& src = m_sel.tlu ? ptr[eax * 2 + (size_t)m_local.gd->clut] : ptr[esi + eax * 2];
|
||||
const Address& src = m_sel.tlu ? ptr[edx + eax * 2] : ptr[esi + eax * 2];
|
||||
|
||||
if(i == 0) movd(dst, src);
|
||||
else pinsrw(dst, src, (uint8)i);
|
||||
|
||||
Reference in new issue
Block a user