ryujinx/src
riperiperi ecbf303266
GPU: Avoid using garbage size for non-cb0 storage buffers (#4999)
* GPU: Avoid using garbage size for non-cb0 storage buffers

In the depths area, Tears of the Kingdom uses a global memory access with address on constant buffer slot 6. This isn't standard and thus doesn't actually have a size 8 bytes after it, so we were reading back a garbage size that ended up very large (at least in version 1.1.0), and would synchronize a lot of data per frame.

This PR makes storage buffers created from addresses outside constant buffer slot 0 get their size as the number of bytes remaining in the GPU mapping starting at the given virtual address. This should bound the buffer to a reasonable size, and ideally stop it crossing into other memory.

* Limit max size

* Add TODO

* Feedback
2023-05-18 08:56:34 +02:00
..
ARMeilleure Ensure background translation threads exited before disposing JIT (#4874) 2023-05-10 21:46:38 -03:00
Ryujinx [GUI] Fix always hide cursor mode not hiding the cursor until it was moved (#4927) 2023-05-14 16:34:31 +02:00
Ryujinx.Audio audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908) 2023-05-13 07:15:16 +00:00
Ryujinx.Audio.Backends.OpenAL Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.SDL2 audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908) 2023-05-13 07:15:16 +00:00
Ryujinx.Audio.Backends.SoundIo Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Ava ava: Fix crash when extracting sections from NCA with no data section (#5002) 2023-05-17 19:27:49 +00:00
Ryujinx.Common Add hide-cursor command line argument & always hide cursor option (#4613) 2023-05-02 03:29:47 +02:00
Ryujinx.Cpu GPU: Remove CPU region handle containers (#4817) 2023-05-05 23:40:46 +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: Avoid using garbage size for non-cb0 storage buffers (#4999) 2023-05-18 08:56:34 +02: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 Set OpenGL PixelPackBuffer to 0 when done (#4921) 2023-05-13 00:59:46 +00:00
Ryujinx.Graphics.Shader Enable explicit LOD for array textures with depth compare on SPIR-V (#4892) 2023-05-11 21:35:36 +02:00
Ryujinx.Graphics.Texture Fix incorrect ASTC endpoint color when using LuminanceDelta mode (#4890) 2023-05-11 20:47:55 +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 Vulkan: Device map buffers written more than flushed (#4911) 2023-05-13 15:15:05 +02:00
Ryujinx.Headless.SDL2 vulkan: Pass Vk instance to VulkanRenderer (#4859) 2023-05-08 13:05:37 +02:00
Ryujinx.HLE audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908) 2023-05-13 07:15:16 +00:00
Ryujinx.Horizon Fix missing domain service object dispose (#4879) 2023-05-11 00:29:17 +00:00
Ryujinx.Horizon.Common Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Horizon.Generators IPC - Refactor Bcat service to use new ipc - Revisit (#4803) 2023-05-09 21:46:23 +00: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: Remove CPU region handle containers (#4817) 2023-05-05 23:40:46 +02:00
Ryujinx.SDL2.Common Stop SDL from inhibiting sleep. (#4842) 2023-05-11 20:13:01 +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 Changed LastPlayed field from string to nullable DateTime (#4861) 2023-05-12 01:56:37 +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