Ryujinx/src
riperiperi 6e784e0aca
GPU: Don't sync/bind index buffer when it's not in use (#5526)
* GPU: Don't sync/bind index buffer when it's not in use

Sometimes draws don't use an index buffer. It's not necessary to check or upload data for the current index buffer binding as it won't be used.

This fixes Pokemon: Legends Arceus updating a stale index buffer for every draw during its TFB pass, which was all non-indexed draws.

This probably didn't cost much on normal PCs, but it had a large impact on MacOS, which the macos1 release build avoided by mirroring index buffers (the PR currently does not). Needs buffer mirrors still for the rest of the performance.

There are additional cases where index buffers are bound or checked with non-indexed draws on the backend, but this one was straightforward to fix and has the largest impact. Testing is welcome to ensure nothing weird broke.

* Fix case with _rebind
2023-08-06 16:29:20 -03:00
..
ARMeilleure CPU (A64): Add Fmaxp & Fminp Scalar Inst.s, Fast & Slow Paths; with Tests. (#5502) 2023-07-30 20:57:37 -03:00
Ryujinx Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Audio [Ryujinx.Audio] Address dotnet-format issues (#5362) 2023-07-02 01:27:18 +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 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Common Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02: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 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Gpu GPU: Don't sync/bind index buffer when it's not in use (#5526) 2023-08-06 16:29:20 -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 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Graphics.Shader (Graphics.Shader): Handle EmitSuatom constant dests and EmitSuld zero dest reg. (#5504) 2023-07-30 22:31:57 -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 Enable VK_EXT_4444_formats (#5525) 2023-08-03 17:46:23 -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 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00
Ryujinx.Horizon Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02: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 [Ryujinx.ShaderTools] Address dotnet-format issues (#5388) 2023-06-25 21:37:33 +02:00
Ryujinx.Tests CPU (A64): Add Fmaxp & Fminp Scalar Inst.s, Fast & Slow Paths; with Tests. (#5502) 2023-07-30 20:57:37 -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 [Ryujinx.Ui.Common] Address dotnet-format issues (#5392) 2023-06-29 02:39:22 +02: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 Add workflow to automatically check code style issues for PRs (#4670) 2023-07-24 18:35:04 +02:00