<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/video_core/texture_cache/texture_cache.h, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>video_core: Improve texture cache memory management to prevent leaks</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-04-20T07:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=00f7ddafa3221c5f62926c6b22fed604e180c6ec'/>
<id>00f7ddafa3221c5f62926c6b22fed604e180c6ec</id>
<content type='text'>
Implement several improvements to the texture cache memory management system
to address memory leaks that occur in memory-intensive games like TOTK
(Title ID 0100F2C0115B6000). These changes prevent the gradual memory
increase that eventually leads to crashes or undefined behavior.

Key improvements:
- Enhance garbage collection with more aggressive cleanup thresholds
- Add emergency resource cleanup for persistent high memory usage
- Improve DeleteImage to ensure proper resource deallocation
- Make DelayedDestructionRing thread-safe with proper mutex protection
- Track consecutive high-memory frames to detect potential leaks
- Add emergency cleanup mechanism for extreme memory pressure situations
- Use proper type casting in std::max to fix compilation errors

This should significantly improve stability during extended gameplay
sessions with memory-intensive titles.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement several improvements to the texture cache memory management system
to address memory leaks that occur in memory-intensive games like TOTK
(Title ID 0100F2C0115B6000). These changes prevent the gradual memory
increase that eventually leads to crashes or undefined behavior.

Key improvements:
- Enhance garbage collection with more aggressive cleanup thresholds
- Add emergency resource cleanup for persistent high memory usage
- Improve DeleteImage to ensure proper resource deallocation
- Make DelayedDestructionRing thread-safe with proper mutex protection
- Track consecutive high-memory frames to detect potential leaks
- Add emergency cleanup mechanism for extreme memory pressure situations
- Use proper type casting in std::max to fix compilation errors

This should significantly improve stability during extended gameplay
sessions with memory-intensive titles.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13171 from liamwhite/fake-address</title>
<updated>2024-02-27T14:42:46+00:00</updated>
<author>
<name>liamwhite</name>
<email>liamwhite@users.noreply.github.com</email>
</author>
<published>2024-02-27T14:42:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=f1b15302498bd3f8d77af266e404456e59ea5a76'/>
<id>f1b15302498bd3f8d77af266e404456e59ea5a76</id>
<content type='text'>
texture_cache: do not track invalid addresses</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
texture_cache: do not track invalid addresses</pre>
</div>
</content>
</entry>
<entry>
<title>texture_cache: use two-pass collection for costly load resources (#13096)</title>
<updated>2024-02-27T14:38:14+00:00</updated>
<author>
<name>liamwhite</name>
<email>liamwhite@users.noreply.github.com</email>
</author>
<published>2024-02-27T14:38:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=9bc85dda5fce187e90cbca4644ebea17cc058d7f'/>
<id>9bc85dda5fce187e90cbca4644ebea17cc058d7f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>texture_cache: do not track invalid addresses</title>
<updated>2024-02-26T15:26:27+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-02-26T14:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=fd9ed54f279e40a415075c4ae748bef7c5ceb1ff'/>
<id>fd9ed54f279e40a415075c4ae748bef7c5ceb1ff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #10529 from liamwhite/critical-spacing</title>
<updated>2024-02-21T02:19:27+00:00</updated>
<author>
<name>Matías Locatti</name>
<email>42481638+goldenx86@users.noreply.github.com</email>
</author>
<published>2024-02-21T02:19:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=e0c17a21138ba4379a5c77b40a7d3fd7414ca605'/>
<id>e0c17a21138ba4379a5c77b40a7d3fd7414ca605</id>
<content type='text'>
caches: make critical reclamation less eager and possible in more cases</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
caches: make critical reclamation less eager and possible in more cases</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12975 from FernandoS27/keep-your-own-vodoo-doll-away-from-gf</title>
<updated>2024-02-13T13:17:59+00:00</updated>
<author>
<name>liamwhite</name>
<email>liamwhite@users.noreply.github.com</email>
</author>
<published>2024-02-13T13:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=f75fceb3c030ac2ed589eb01bc7f3fa61905a76d'/>
<id>f75fceb3c030ac2ed589eb01bc7f3fa61905a76d</id>
<content type='text'>
Texture Cache: Fix untracking on GPU remap</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Texture Cache: Fix untracking on GPU remap</pre>
</div>
</content>
</entry>
<entry>
<title>texture_cache: tweak iteration tracking change</title>
<updated>2024-02-11T18:41:13+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-06-03T00:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=368bf2211fdc58014e479db84dab5a152ebbe459'/>
<id>368bf2211fdc58014e479db84dab5a152ebbe459</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>texture_cache: avoid overestimation of ASTC texture sizes</title>
<updated>2024-02-11T18:41:13+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-05-31T16:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=de8a62393249e944f68eb3e73330537af02a6b0b'/>
<id>de8a62393249e944f68eb3e73330537af02a6b0b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>caches: make critical reclamation less eager and possible in more cases</title>
<updated>2024-02-11T18:41:13+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2023-05-31T16:36:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=865a0186b6db97afed21db6ad924c9968b437265'/>
<id>865a0186b6db97afed21db6ad924c9968b437265</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Texture Cache: Fix untracking on GPU remap</title>
<updated>2024-02-10T13:49:49+00:00</updated>
<author>
<name>Fernando Sahmkow</name>
<email>fsahmkow27@gmail.com</email>
</author>
<published>2024-02-10T13:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26'/>
<id>9ce43ee677bdc98eea3d6ea430b0d5867dbcfd26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
