mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
GPU: Track video frames in GPUCommon, so they expire for the blit cost too
The blit cost remembered only the last buffer a decoder wrote into, forever. Move the texture cache's video list (with its ageing out a few flips after the last write) into GPUCommon, so the texture cache, the blit cost and SoftGPU all share one. That also counts both of a double-buffered player's frames, which exposed that a clear drawn with texturing still enabled was being charged as a blit - skip clears and draws without texture coordinates. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
8f70003cce
commit
242ef0a984
7 files changed
+80
-82
No files matched your search
@@ -243,9 +243,9 @@ void DrawTexturesWindow(ImConfig &cfg, TextureCacheCommon *textureCache) {
|
||||
replacementStateCounts[(int)ReplacementState::ACTIVE],
|
||||
replacementStateCounts[(int)ReplacementState::CANCEL_INIT]);
|
||||
}
|
||||
if (textureCache->Videos().size()) {
|
||||
if (gpu->Videos().size()) {
|
||||
if (ImGui::CollapsingHeader("Tracked video playback memory")) {
|
||||
for (auto &video : textureCache->Videos()) {
|
||||
for (auto &video : gpu->Videos()) {
|
||||
ImGui::Text("%08x: %d flips, size = %d", video.addr, video.flips, video.size);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user