1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-12-21 05:22:00 +00:00
Ryujinx/src
riperiperi 895d9b53bc
Vulkan: Batch vertex buffer updates (#4843)
* Vulkan: Batch vertex buffer updates

Some games can bind a large number of vertex buffers for draws. This PR allows for vertex buffers to be updated with one call rather than one per buffer.

This mostly affects the AMD Mesa driver, the testing platform was Steam Deck with Super Mario Odyssey. It was taking about 12% before, should be greatly reduced now.

A small optimization has been added to avoid looking up the same buffer multiple times, as a common pattern is for the same buffer to be bound many times in a row with different ranges.

* Only rebind vertex buffers if they have changed

* Address feedback
2023-05-08 10:59:26 +02:00
..
ARMeilleure
Ryujinx UI: Expose games build ID for cheat management (#4340) 2023-05-07 14:36:44 +00:00
Ryujinx.Audio Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Audio.Backends.OpenAL
Ryujinx.Audio.Backends.SDL2
Ryujinx.Audio.Backends.SoundIo
Ryujinx.Ava Ava: Fix SystemTimeOffset calculation (#4848) 2023-05-08 00:31:08 +02: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
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 UI: Add progress bar for re-packaging shaders (#4805) 2023-05-06 15:35:46 +02:00
Ryujinx.Graphics.Host1x
Ryujinx.Graphics.Nvdec
Ryujinx.Graphics.Nvdec.FFmpeg
Ryujinx.Graphics.Nvdec.Vp9
Ryujinx.Graphics.OpenGL Use ToLowerInvariant when detecting GPU vendor. (#4815) 2023-05-05 16:35:59 +00:00
Ryujinx.Graphics.Shader Use correct offset for storage constant buffer elimination (#4821) 2023-05-05 23:59:36 +02:00
Ryujinx.Graphics.Texture Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vic
Ryujinx.Graphics.Video
Ryujinx.Graphics.Vulkan Vulkan: Batch vertex buffer updates (#4843) 2023-05-08 10:59:26 +02:00
Ryujinx.Headless.SDL2 Add hide-cursor command line argument & always hide cursor option (#4613) 2023-05-02 03:29:47 +02:00
Ryujinx.HLE misc: Avoid copy of ApplicationControlProperty (#4849) 2023-05-08 01:50:07 +02:00
Ryujinx.Horizon Revert "bcat ipc (#4446)" (#4801) 2023-05-04 18:16:51 +02:00
Ryujinx.Horizon.Common
Ryujinx.Horizon.Generators
Ryujinx.Horizon.Kernel.Generators
Ryujinx.Input Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Input.SDL2
Ryujinx.Memory GPU: Remove CPU region handle containers (#4817) 2023-05-05 23:40:46 +02:00
Ryujinx.SDL2.Common
Ryujinx.ShaderTools
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
Ryujinx.Ui.Common UI: Expose games build ID for cheat management (#4340) 2023-05-07 14:36:44 +00:00
Ryujinx.Ui.LocaleGenerator
Spv.Generator