This commit is contained in:
gabest
2008-08-01 19:15:06 +00:00
parent 54d739a49f
commit 00fe8257d4
3 changed files with 30 additions and 3 deletions

View File

@@ -916,7 +916,7 @@ public:
(int)ReadPixel32(addr.u32[2]),
(int)ReadPixel32(addr.u32[3]));
#endif
c = (c & 0x00ffffff) | 0x80000000;
c = (c & GSVector4i::x00ffffff()) | GSVector4i::x80000000();
break;
case 2:
#if _M_SSE >= 0x401
@@ -957,15 +957,15 @@ public:
break;
case 1:
#if _M_SSE >= 0x401
z = addr.gather32_32(m_vm32) & 0x00ffffff;
z = addr.gather32_32(m_vm32);
#else
z = GSVector4i(
(int)ReadPixel32(addr.u32[0]),
(int)ReadPixel32(addr.u32[1]),
(int)ReadPixel32(addr.u32[2]),
(int)ReadPixel32(addr.u32[3]));
z = z & 0x00ffffff;
#endif
z = z & GSVector4i::x00ffffff();
break;
case 2:
#if _M_SSE >= 0x401

View File

@@ -381,6 +381,28 @@ void GSRasterizer::InitEx()
m_dsmap.SetAt(0x40002264, &GSRasterizer::DrawScanlineEx<0x40002264>);
m_dsmap.SetAt(0x59108434, &GSRasterizer::DrawScanlineEx<0x59108434>);
m_dsmap.SetAt(0x40010234, &GSRasterizer::DrawScanlineEx<0x40010234>);
m_dsmap.SetAt(0x00003c34, &GSRasterizer::DrawScanlineEx<0x00003c34>);
m_dsmap.SetAt(0x00010c04, &GSRasterizer::DrawScanlineEx<0x00010c04>);
m_dsmap.SetAt(0x40003c34, &GSRasterizer::DrawScanlineEx<0x40003c34>);
m_dsmap.SetAt(0x40103c14, &GSRasterizer::DrawScanlineEx<0x40103c14>);
m_dsmap.SetAt(0x4010c214, &GSRasterizer::DrawScanlineEx<0x4010c214>);
m_dsmap.SetAt(0x4010cc14, &GSRasterizer::DrawScanlineEx<0x4010cc14>);
m_dsmap.SetAt(0x4010cc24, &GSRasterizer::DrawScanlineEx<0x4010cc24>);
m_dsmap.SetAt(0x4a50cc14, &GSRasterizer::DrawScanlineEx<0x4a50cc14>);
m_dsmap.SetAt(0x51102264, &GSRasterizer::DrawScanlineEx<0x51102264>);
m_dsmap.SetAt(0x51102274, &GSRasterizer::DrawScanlineEx<0x51102274>);
m_dsmap.SetAt(0x51102c34, &GSRasterizer::DrawScanlineEx<0x51102c34>);
m_dsmap.SetAt(0x5110c264, &GSRasterizer::DrawScanlineEx<0x5110c264>);
m_dsmap.SetAt(0x5110cc14, &GSRasterizer::DrawScanlineEx<0x5110cc14>);
m_dsmap.SetAt(0x5110cc24, &GSRasterizer::DrawScanlineEx<0x5110cc24>);
m_dsmap.SetAt(0x5110cc34, &GSRasterizer::DrawScanlineEx<0x5110cc34>);
m_dsmap.SetAt(0x5110cc64, &GSRasterizer::DrawScanlineEx<0x5110cc64>);
m_dsmap.SetAt(0x58903464, &GSRasterizer::DrawScanlineEx<0x58903464>);
m_dsmap.SetAt(0x59130c34, &GSRasterizer::DrawScanlineEx<0x59130c34>);
m_dsmap.SetAt(0x5a10b464, &GSRasterizer::DrawScanlineEx<0x5a10b464>);
m_dsmap.SetAt(0x5a10cc14, &GSRasterizer::DrawScanlineEx<0x5a10cc14>);
m_dsmap.SetAt(0x62511434, &GSRasterizer::DrawScanlineEx<0x62511434>);
m_dsmap.SetAt(0x6a502224, &GSRasterizer::DrawScanlineEx<0x6a502224>);
// mana khemia

View File

@@ -1091,6 +1091,11 @@ public:
return invzero().sll32(24);
}
static GSVector4i x00ffffff()
{
return invzero().srl32(8);
}
static GSVector4i x00003fff()
{
return invzero().srl32(18);