JinxRyu/Ryujinx.Graphics.Gpu
riperiperi ece36b274d
GAL: Send all buffer assignments at once rather than individually (#3881)
* GAL: Send all buffer assignments at once rather than individually

The `(int first, BufferRange[] ranges)` method call has very significant performance implications when the bindings are spread out, which they generally always are in Vulkan. This change makes it so that these methods are only called a maximum of one time per draw.

Significantly improves GPU thread performance in Pokemon Scarlet/Violet.

* Address Feedback

Removed SetUniformBuffers(int first, ReadOnlySpan<BufferRange> buffers)
2022-11-24 07:50:59 +00:00
..
Engine GPU: Access non-prefetch command buffers directly (#3882) 2022-11-24 01:56:55 +00:00
Image Minor improvement to Vulkan pipeline state and bindings management (#3829) 2022-11-10 13:38:38 -03:00
Memory GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
Shader Fix shader cache on Vulkan when geometry shaders are inserted (#3868) 2022-11-19 10:24:23 +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 Unsubscribe MemoryUnmappedHandler even when GPU channel is destroyed (#3872) 2022-11-19 23:54:33 -03:00
GpuContext.cs Use RGBA16 vertex format if RGB16 is not supported on Vulkan (#3552) 2022-08-20 16:20:27 -03: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 Allow Surface Flinger frame enqueue after process has exited (#3733) 2022-10-02 21:50:03 +00:00