diff options
| author | Anthony <Helios747@users.noreply.github.com> | 2017-07-11 22:49:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-11 22:49:19 -0700 |
| commit | ab5a5ee3eac3edfeaf4dd019fbc1b0ddf4114529 (patch) | |
| tree | 871838bce61fcb39644f88a6c4a1751cc3bb18d1 /Source/Core/VideoCommon/BPStructs.cpp | |
| parent | 1de9bf2ccabe9a0563ec11f145ffa657c609c50d (diff) | |
| parent | 5a9daac7a601cf2f3e55f79b142a926fe70e325e (diff) | |
Merge pull request #5726 from mimimi085181/minimal-tmem-cache-emulation
Implement minimal emulation of TMEM caching
Diffstat (limited to 'Source/Core/VideoCommon/BPStructs.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/BPStructs.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp index cd6f84f446..204c637b94 100644 --- a/Source/Core/VideoCommon/BPStructs.cpp +++ b/Source/Core/VideoCommon/BPStructs.cpp @@ -285,6 +285,8 @@ static void BPWritten(const BPCmd& bp) if (g_bRecordFifoData) FifoRecorder::GetInstance().UseMemory(addr, tlutXferCount, MemoryUpdate::TMEM); + TextureCacheBase::InvalidateAllBindPoints(); + return; } case BPMEM_FOGRANGE: // Fog Settings Control @@ -397,6 +399,7 @@ static void BPWritten(const BPCmd& bp) return; case BPMEM_TEXINVALIDATE: // TODO: Needs some restructuring in TextureCacheBase. + TextureCacheBase::InvalidateAllBindPoints(); return; case BPMEM_ZCOMPARE: // Set the Z-Compare and EFB pixel format @@ -499,6 +502,8 @@ static void BPWritten(const BPCmd& bp) if (g_bRecordFifoData) FifoRecorder::GetInstance().UseMemory(src_addr, bytes_read, MemoryUpdate::TMEM); + + TextureCacheBase::InvalidateAllBindPoints(); } return; @@ -582,10 +587,12 @@ static void BPWritten(const BPCmd& bp) // ------------------------ case BPMEM_TX_SETMODE0: // (0x90 for linear) case BPMEM_TX_SETMODE0_4: + TextureCacheBase::InvalidateAllBindPoints(); return; case BPMEM_TX_SETMODE1: case BPMEM_TX_SETMODE1_4: + TextureCacheBase::InvalidateAllBindPoints(); return; // -------------------------------------------- // BPMEM_TX_SETIMAGE0 - Texture width, height, format @@ -602,6 +609,7 @@ static void BPWritten(const BPCmd& bp) case BPMEM_TX_SETIMAGE2_4: case BPMEM_TX_SETIMAGE3: case BPMEM_TX_SETIMAGE3_4: + TextureCacheBase::InvalidateAllBindPoints(); return; // ------------------------------- // Set a TLUT @@ -609,6 +617,7 @@ static void BPWritten(const BPCmd& bp) // ------------------------------- case BPMEM_TX_SETTLUT: case BPMEM_TX_SETTLUT_4: + TextureCacheBase::InvalidateAllBindPoints(); return; default: |
