Ryujinx/src
riperiperi 2c94ac455e
GPU: Keep rendered textures without any pool references alive (#4662)
* GPU: Keep sampled textures without any pool references alive

Occasionally games are very wasteful and clear/write to a texture without ever sampling it. As rendered textures in NVN games seem to all have overlapping memory ranges, the texture will eventually get overwritten.

Normally, this would trigger a removal from the auto delete cache, but a pool entry would keep the texture alive. However, with these textures that are never used, they will get deleted immediately and recreated on the next frame.

This change makes it so the ShortTextureCache can keep textures that have naver had a pool reference alive for a few frames, so they're not constantly being created and deleted.

This improves performance in Zelda BOTW a little.

* Cleanup
2023-05-01 16:27:51 -03:00
..
ARMeilleure Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx Allow window to remember its size, position and state (GTK + Avalonia) (#4657) 2023-04-28 22:59:53 +02:00
Ryujinx.Audio Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.OpenAL Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.SDL2 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.SoundIo Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Ava Allow window to remember its size, position and state (GTK + Avalonia) (#4657) 2023-04-28 22:59:53 +02:00
Ryujinx.Common Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Cpu Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Device Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.GAL GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Ryujinx.Graphics.Gpu GPU: Keep rendered textures without any pool references alive (#4662) 2023-05-01 16:27:51 -03:00
Ryujinx.Graphics.Host1x Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec.FFmpeg Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Nvdec.Vp9 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.OpenGL GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Ryujinx.Graphics.Shader Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Texture Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vic Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Video Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vulkan GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Ryujinx.Headless.SDL2 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.HLE Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon.Common Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon.Generators Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon.Kernel.Generators Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Input Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Input.SDL2 Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Memory GPU: Fix errors handling texture remapping (#4745) 2023-05-01 15:32:32 -03:00
Ryujinx.SDL2.Common Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.ShaderTools Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Tests Adjust Ryujinx.Tests.Memory namespace 2023-04-27 23:51:14 +02:00
Ryujinx.Tests.Memory Adjust Ryujinx.Tests.Memory namespace 2023-04-27 23:51:14 +02:00
Ryujinx.Tests.Unicorn Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Ui.Common Allow window to remember its size, position and state (GTK + Avalonia) (#4657) 2023-04-28 22:59:53 +02:00
Ryujinx.Ui.LocaleGenerator Move solution and projects to src 2023-04-27 23:51:14 +02:00
Spv.Generator Move solution and projects to src 2023-04-27 23:51:14 +02:00