Ryujinx/Ryujinx.Graphics.Gpu
riperiperi f0e27a23a5
Add short duration texture cache (#3754)
* Add short duration texture cache

This texture cache takes textures that lose their last pool reference and keeps them alive until the next frame, or until an incompatible overlap removes it. This is done since under certain circumstances, a texture's reference can be wiped from a pool despite it still being in use - though typically the reference will return when rendering the next frame.

While this may slightly increase texture memory usage when quickly going through a bunch of temporary textures, it's still bounded due to the overlap removal rule.

This greatly increases performance in Hyrule Warriors: Age of Calamity. It may positively affect some UE4 games which dip framerate severely under certain circumstances.

* Small optimization

* Don't forget this.

* Add short cache dictionary

* Address feedback

* Address some feedback
2023-01-17 04:39:46 +01:00
..
Engine Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
Image Add short duration texture cache (#3754) 2023-01-17 04:39:46 +01:00
Memory Added Generic Math to BitUtils (#3929) 2022-12-26 14:11:05 +00:00
Shader Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
Synchronization When waiting on CPU, do not return a time out error from EventWait (#2780) 2021-11-01 19:10:02 -03:00
ClassId.cs Separate GPU engines (part 2/2) (#2440) 2021-07-11 17:20:40 -03:00
Constants.cs GPU: Eliminate CB0 accesses when storage buffer accesses are resolved (#3847) 2022-11-17 18:47:41 +01:00
GpuChannel.cs Fix NRE when MemoryUnmappedHandler is called for a destroyed channel (#4285) 2023-01-14 00:16:06 -03:00
GpuContext.cs Vulkan: Don't flush commands when creating most sync (#4087) 2022-12-29 15:39:04 +01:00
GraphicsConfig.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Ryujinx.Graphics.Gpu.csproj infra: Migrate to .NET 7 (#3795) 2022-11-09 20:22:43 +01:00
Window.cs Add short duration texture cache (#3754) 2023-01-17 04:39:46 +01:00