diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2012-05-18 23:13:53 +0200 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2012-05-18 23:13:53 +0200 |
| commit | 5a77cae2e3434fa5cbb3710f183328e36620fa5f (patch) | |
| tree | 5ee73dd013e8da678bfaa9762990bd966276c504 /Source/Core/VideoCommon/Src/BPStructs.cpp | |
| parent | 1bc5f41e40e604ef6c1d1e84617c13fdf40e04d1 (diff) | |
Check if BP and XF changes actually change values before flushing
Diffstat (limited to 'Source/Core/VideoCommon/Src/BPStructs.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/BPStructs.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/BPStructs.cpp b/Source/Core/VideoCommon/Src/BPStructs.cpp index d59523e117..84f2426f26 100644 --- a/Source/Core/VideoCommon/Src/BPStructs.cpp +++ b/Source/Core/VideoCommon/Src/BPStructs.cpp @@ -128,7 +128,17 @@ void BPWritten(const BPCmd& bp) FlushPipeline(); } } // END ZTP SPEEDUP HACK - else FlushPipeline(); + else + { + if (((s32*)&bpmem)[bp.address] != bp.newvalue) + { + FlushPipeline(); + } + else if (bp.address == BPMEM_TRIGGER_EFB_COPY + || bp.address == BPMEM_CLEARBBOX1 + || bp.address == BPMEM_CLEARBBOX2) + FlushPipeline(); + } ((u32*)&bpmem)[bp.address] = bp.newvalue; |
