aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorrdenno <rhysdenno@gmail.com>2026-10-31 14:43:14 -0400
committerJonas <baguettegamerofficial2020@gmail.com>2026-11-03 05:55:03 +0600
commit3ffa971337144b32f88f12260362f5cf1cec8623 (patch)
treef54fc8ee49117d5e5c41a21981876f1f3e5a14e6 /src/core/hle/service
parent701c91b402f47fdbb36d4f7c4b4bf1d0db08888b (diff)
nx2: vdecsvc refreshes the GPU copy of each decoded frame (Yoshi demo)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 144b193c841a4b291e5eca065c94cbe82136a4b1)
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/nx2_gsv.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/service/nx2_gsv.h b/src/core/hle/service/nx2_gsv.h
index 3e29076b8e..4731b35364 100644
--- a/src/core/hle/service/nx2_gsv.h
+++ b/src/core/hle/service/nx2_gsv.h
@@ -2801,6 +2801,10 @@ private:
memory.WriteBlock(address + layout.chroma_offset, bytes.data() + layout.chroma_offset,
layout.pitch * ((height + 1) / 2));
}
+ // The game samples the image on the GPU: drop the texture cache's copy of the old frame.
+ if (const auto device = Nvidia::Devices::Nx2GpuMemoryRegistry::Get().DeviceAddressOf(address)) {
+ system.GPU().InvalidateRegion(*device, layout.size);
+ }
return {width, height};
}