1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-11-13 05:16:40 +00: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 Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AutoFlushCounter.cs Periodically Flush Commands for Vulkan (#3689) 2022-09-14 13:48:31 -03:00
BackgroundResources.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
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
BufferState.cs
BufferUsageBitmap.cs
CacheByRange.cs
CommandBufferPool.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
CommandBufferScoped.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Constants.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetCollection.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetUpdater.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
DisposableBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableBufferView.cs
DisposableFramebuffer.cs
DisposableImage.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableImageView.cs
DisposableMemory.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposablePipeline.cs
DisposableRenderPass.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableSampler.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
EnumConversion.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
FenceHelper.cs
FenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatCapabilities.cs
FormatConverter.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatTable.cs Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02:00
FramebufferParams.cs
HardwareCapabilities.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
HashTableSlim.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
HelperShader.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
IdList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
IndexBufferPattern.cs Fix primitive count calculation for topology conversion (#3763) 2022-10-16 19:25:40 -03:00
IndexBufferState.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
MemoryAllocation.cs
MemoryAllocator.cs
MemoryAllocatorBlockList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MultiFenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
NativeArray.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
PersistentFlushBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineBase.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
PipelineConverter.cs
PipelineDynamicState.cs Vulkan: Use dynamic state for blend constants (#3793) 2022-10-25 23:49:23 +00:00
PipelineFull.cs
PipelineHelperShader.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
PipelineLayoutCache.cs
PipelineLayoutCacheEntry.cs
PipelineLayoutFactory.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
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 Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Shader.cs Avoid allocating unmanaged string per shader (#3730) 2022-10-02 10:59:34 +02:00
ShaderCollection.cs
SpecInfo.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
StagingBuffer.cs Vulkan: Fix some issues with CacheByRange (#3743) 2022-10-08 11:28:27 -03:00
SyncManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TextureBuffer.cs
TextureCopy.cs
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 Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
VertexBufferState.cs
VulkanConfiguration.cs
VulkanException.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
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 Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00