Hack for GSdx hardware to fix inverted videos that showed up with the new GIF rewrite.

The problem as I understood is is incomplete COLCLAMP support.
Thanks to sudo for the hack :)

(Unfortunately we couldn't find out more about why these FMV also *all* flicker.)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4837 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2011-08-01 17:18:13 +00:00
parent c8b7b410a3
commit e181358986
2 changed files with 5 additions and 4 deletions

View File

@ -79,7 +79,8 @@ static __fi void gsCSRwrite( const tGS_CSR& csr )
SIGNAL_IMR_Pending = false; SIGNAL_IMR_Pending = false;
#else #else
GUNIT_WARN("csr.RESET"); GUNIT_WARN("GUNIT_WARN: csr.RESET");
Console.Warning( "csr.RESET" );
//gifUnit.Reset(true); // Don't think gif should be reset... //gifUnit.Reset(true); // Don't think gif should be reset...
gifUnit.gsSIGNAL.queued = false; gifUnit.gsSIGNAL.queued = false;
GetMTGS().SendSimplePacket(GS_RINGTYPE_RESET, 0, 0, 0); GetMTGS().SendSimplePacket(GS_RINGTYPE_RESET, 0, 0, 0);

View File

@ -248,7 +248,7 @@ public:
} }
} }
if(env.COLCLAMP.CLAMP == 0) if (env.COLCLAMP.CLAMP == 0 && /* hack */ !tex)
{ {
ps_sel.colclip = 1; ps_sel.colclip = 1;
} }
@ -357,7 +357,7 @@ public:
{ {
dev->DrawPrimitive(); dev->DrawPrimitive();
if(env.COLCLAMP.CLAMP == 0) if (env.COLCLAMP.CLAMP == 0 && /* hack */ !tex)
{ {
GSDeviceDX::OMBlendSelector om_bselneg(om_bsel); GSDeviceDX::OMBlendSelector om_bselneg(om_bsel);
GSDeviceDX::PSSelector ps_selneg(ps_sel); GSDeviceDX::PSSelector ps_selneg(ps_sel);
@ -422,7 +422,7 @@ public:
dev->DrawPrimitive(); dev->DrawPrimitive();
if(env.COLCLAMP.CLAMP == 0) if (env.COLCLAMP.CLAMP == 0 && /* hack */ !tex)
{ {
GSDeviceDX::OMBlendSelector om_bselneg(om_bsel); GSDeviceDX::OMBlendSelector om_bselneg(om_bsel);
GSDeviceDX::PSSelector ps_selneg(ps_sel); GSDeviceDX::PSSelector ps_selneg(ps_sel);