summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/BPStructs.cpp
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2017-07-11 22:49:19 -0700
committerGitHub <noreply@github.com>2017-07-11 22:49:19 -0700
commitab5a5ee3eac3edfeaf4dd019fbc1b0ddf4114529 (patch)
tree871838bce61fcb39644f88a6c4a1751cc3bb18d1 /Source/Core/VideoCommon/BPStructs.cpp
parent1de9bf2ccabe9a0563ec11f145ffa657c609c50d (diff)
parent5a9daac7a601cf2f3e55f79b142a926fe70e325e (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.cpp9
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: