Ryujinx/src
riperiperi 93cd327873
Vulkan: Device Local and higher invocation count for buffer conversions (#5623)
Just some simple changes to the buffer conversion shaders. (stride conversion, D32S8 to D24S8)

The first change is using a device local buffer for converted vertex buffers, since they're only read/written on the GPU. These paths don't trigger on NVIDIA, but if you force them to use it demonstrates the full extent writing to host owned memory from compute absolutely destroys them. AMD GPUs are less heavily affected by this issue, but since the game in question was writing 230MB from compute, I imagine it should have some effect.

The second change is allowing the buffer conversion shaders to scale their work group count. While dividing the work between 32 invocations works OK for M1 macs, it's not so great for anything with more cores like AMD GPUs, which should be able to do a lot more parallel copies. Now, it scales by roughly 100 elements per invocation.

Some stride change cases could be improved further by either limiting vertex buffer size somehow (reading the index buffer could help, but is always risky) or only updating regions that changed, rather than invalidating the whole thing.
2023-09-02 17:58:15 -03:00
..
ARMeilleure "static readonly" constants should be "const" instead (#5560) 2023-08-13 19:07:57 -03:00
Ryujinx Fix numeric SWKB validation (#5627) 2023-09-01 20:08:42 +02:00
Ryujinx.Audio Fix invalid audio renderer buffer size when end offset < start offset (#5588) 2023-08-20 08:56:30 +02:00
Ryujinx.Audio.Backends.OpenAL Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Audio.Backends.SDL2 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Audio.Backends.SoundIo Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Ava Fix numeric SWKB validation (#5627) 2023-09-01 20:08:42 +02:00
Ryujinx.Common "static readonly" constants should be "const" instead (#5560) 2023-08-13 19:07:57 -03:00
Ryujinx.Cpu Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Device Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.GAL Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Graphics.Gpu Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Graphics.Host1x Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Nvdec Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Nvdec.FFmpeg Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Nvdec.Vp9 [Ryujinx.Graphics.Nvdec.Vp9] Address dotnet-format issues (#5371) 2023-06-28 09:26:39 +02:00
Ryujinx.Graphics.OpenGL Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Graphics.Shader Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Graphics.Texture Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Vic Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Video Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Vulkan Vulkan: Device Local and higher invocation count for buffer conversions (#5623) 2023-09-02 17:58:15 -03:00
Ryujinx.Headless.SDL2 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.HLE Fix numeric SWKB validation (#5627) 2023-09-01 20:08:42 +02:00
Ryujinx.Horizon Fix debug assert on services without pointer buffer (#5599) 2023-08-19 18:16:59 +00:00
Ryujinx.Horizon.Common Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Horizon.Generators Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Horizon.Kernel.Generators Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Input [Ryujinx.Input] Address dotnet-format issues (#5384) 2023-06-28 18:23:00 +02:00
Ryujinx.Input.SDL2 [Ryujinx.Input.SDL2] Address dotnet-format issues (#5385) 2023-06-26 01:55:25 +00:00
Ryujinx.Memory [Ryujinx.Memory] Address dotnet-format issues (#5386) 2023-06-28 18:34:00 +02:00
Ryujinx.SDL2.Common Revert "sdl: set SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS to 0 (#5433)" (#5439) 2023-07-06 18:08:14 +02:00
Ryujinx.ShaderTools Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Tests [Hotfix] hid: Prevent out of bounds array access (#5547) 2023-08-10 00:29:15 -03:00
Ryujinx.Tests.Memory Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Tests.Unicorn Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Ui.Common Implement color space passthrough option (#5531) 2023-08-07 18:54:05 +01:00
Ryujinx.Ui.LocaleGenerator Indexing at 0 should be used instead of the "Enumerable" extension method "First" (#5354) 2023-07-01 06:29:37 +00:00
Spv.Generator Declare and use gl_PerVertex block for VTG per-vertex built-ins (#5576) 2023-08-16 23:16:25 +02:00