1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-09-20 22:13:35 +01:00
Ryujinx/Ryujinx.Graphics.Vulkan
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
..
Queries
Shaders Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
Auto.cs
AutoFlushCounter.cs
BackgroundResources.cs
BitMap.cs
BufferHolder.cs Vulkan: Don't create preload command buffer outside a render pass (#3864) 2022-11-18 14:58:56 +00:00
BufferManager.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
BufferState.cs
BufferUsageBitmap.cs
CacheByRange.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
CommandBufferPool.cs
CommandBufferScoped.cs
Constants.cs
DescriptorSetCollection.cs
DescriptorSetManager.cs
DescriptorSetUpdater.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
DisposableBuffer.cs
DisposableBufferView.cs
DisposableFramebuffer.cs
DisposableImage.cs
DisposableImageView.cs
DisposableMemory.cs
DisposablePipeline.cs
DisposableRenderPass.cs
DisposableSampler.cs
EnumConversion.cs
FenceHelper.cs
FenceHolder.cs
FormatCapabilities.cs
FormatConverter.cs
FormatTable.cs
FramebufferParams.cs
HardwareCapabilities.cs
HashTableSlim.cs
HelperShader.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
IdList.cs
IndexBufferPattern.cs
IndexBufferState.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
MemoryAllocation.cs
MemoryAllocator.cs
MemoryAllocatorBlockList.cs
MultiFenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
NativeArray.cs
PersistentFlushBuffer.cs
PipelineBase.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
PipelineConverter.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
PipelineDynamicState.cs
PipelineFull.cs Update units of memory from decimal to binary prefixes (#3716) 2022-11-16 23:27:42 +01:00
PipelineHelperShader.cs
PipelineLayoutCache.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineLayoutCacheEntry.cs
PipelineLayoutFactory.cs
PipelineState.cs Minor improvement to Vulkan pipeline state and bindings management (#3829) 2022-11-10 13:38:38 -03:00
PipelineUid.cs Minor improvement to Vulkan pipeline state and bindings management (#3829) 2022-11-10 13:38:38 -03:00
Ryujinx.Graphics.Vulkan.csproj infra: Migrate to .NET 7 (#3795) 2022-11-09 20:22:43 +01:00
SamplerHolder.cs
SemaphoreHolder.cs
Shader.cs Avoid allocating unmanaged string per shader (#3730) 2022-10-02 10:59:34 +02:00
ShaderCollection.cs Vulkan: Don't create preload command buffer outside a render pass (#3864) 2022-11-18 14:58:56 +00:00
SpecInfo.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
StagingBuffer.cs
SyncManager.cs
TextureBuffer.cs
TextureCopy.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
TextureStorage.cs
TextureView.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
Vendor.cs
VertexBufferState.cs
VulkanConfiguration.cs
VulkanException.cs
VulkanInitialization.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
VulkanRenderer.cs Move gl_Layer from vertex to geometry if GPU does not support it on vertex (#3866) 2022-11-18 23:27:54 -03:00
Window.cs
WindowBase.cs