kenji-nx/src/Ryujinx.Graphics.Vulkan
LotP e3ee28605d Memory changes 3
General memory improvements to decrease GC pressure and frequency.

Pool big arrays and objects that are created and deleted often.

Skip data copies when they aren't needed.

Inline flag checks to skip unneeded allocations.

From my testing the performance is about the same, but the GC frequency is much lower and collection is faster causing less and smaller spikes.
2025-10-30 23:25:51 -05:00
..
Effects misc: chore: Fix numerous NullReferenceExceptions, InvalidOperationExceptions 2025-06-18 02:25:06 -05:00
MoltenVK misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
Queries misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
Shaders Vulkan: Device Local and higher invocation count for buffer conversions (#5623) 2023-09-02 17:58:15 -03:00
Auto.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
AutoFlushCounter.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
BackgroundResources.cs Migrate to .NET 9 2024-12-19 21:18:58 -06:00
BarrierBatch.cs misc: chore: Fix object creation 2025-09-24 13:44:00 -05:00
BitMap.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
BitMapStruct.cs Memory Changes part 2 2025-08-26 15:30:12 -05:00
BufferAllocationType.cs Implement support for multi-range buffers using Vulkan sparse mappings (#5427) 2023-12-04 20:30:19 +01:00
BufferHolder.cs Memory changes 3 2025-10-30 23:25:51 -05:00
BufferManager.cs misc: chore: Fix object creation 2025-09-24 13:44:00 -05:00
BufferMirrorRangeList.cs misc: chore: Fix possible NullReferenceExceptions, InvalidOperationExceptions 2025-09-30 15:05:14 -05:00
BufferState.cs Vulkan: Update Silk.NET to 2.21 (#7266) 2024-09-01 17:33:11 -03:00
BufferUsageBitmap.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
CacheByRange.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
CommandBufferPool.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
CommandBufferScoped.cs Remove CommandBufferScoped Dependencies (#6958) 2024-07-16 17:01:06 -03:00
Constants.cs Vulkan: Use push descriptors for uniform bindings when possible (#6154) 2024-02-16 21:41:30 -03:00
DescriptorSetCollection.cs Vulkan: Update Silk.NET to 2.21 (#7266) 2024-09-01 17:33:11 -03:00
DescriptorSetManager.cs Revert "misc: chore: Remove redundant code" 2025-03-15 20:00:22 -05:00
DescriptorSetTemplate.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
DescriptorSetTemplateUpdater.cs Vulkan: Use push descriptors for uniform bindings when possible (#6154) 2024-02-16 21:41:30 -03:00
DescriptorSetUpdater.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
DisposableBuffer.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableBufferView.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableFramebuffer.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableImage.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableImageView.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableMemory.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposablePipeline.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableRenderPass.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
DisposableSampler.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
EnumConversion.cs Revert "Support VK_EXT_extended_dynamic_state and VK_EXT_extended_dynamic_state2" 2025-04-21 22:18:58 -05:00
FeedbackLoopAspects.cs Re-merge "Vulkan: Feedback loop detection and barriers (#7226)" 2025-04-21 22:18:59 -05:00
FenceHelper.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
FenceHolder.cs misc: chore: Use collection expressions 2025-03-06 20:46:29 -06:00
FormatCapabilities.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
FormatConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatTable.cs Implement X8Z24 texture format (#6315) 2024-02-15 19:06:26 -03:00
FramebufferParams.cs Memory changes 3 2025-10-30 23:25:51 -05:00
HardwareCapabilities.cs Re-merge "Vulkan: Feedback loop detection and barriers (#7226)" 2025-04-21 22:18:59 -05:00
HashTableSlim.cs misc: chore: Use collection expressions 2025-03-06 20:46:29 -06:00
HelperShader.cs Revert "Support VK_EXT_extended_dynamic_state and VK_EXT_extended_dynamic_state2" 2025-04-21 22:18:58 -05:00
HostMemoryAllocator.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
IdList.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
ImageArray.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
IndexBufferPattern.cs misc: chore: Remove unnecessary usings 2025-04-11 21:56:23 -05:00
IndexBufferState.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MemoryAllocation.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
MemoryAllocator.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
MemoryAllocatorBlockList.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
MultiFenceHolder.cs Memory changes 3 2025-10-30 23:25:51 -05:00
NativeArray.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
PersistentFlushBuffer.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
PipelineBase.cs Memory changes 3 2025-10-30 23:25:51 -05:00
PipelineConverter.cs Memory Changes part 2 2025-08-26 15:30:12 -05:00
PipelineDynamicState.cs Vulkan: Minimize errors with feedback loop detection for AMD Radeon RX GPUs + Qualcomm SoCs 2025-04-27 00:37:22 -05:00
PipelineFull.cs Re-merge "Vulkan: Feedback loop detection and barriers (#7226)" 2025-04-21 22:18:59 -05:00
PipelineHelperShader.cs Revert "Support VK_EXT_extended_dynamic_state and VK_EXT_extended_dynamic_state2" 2025-04-21 22:18:58 -05:00
PipelineLayoutCache.cs misc: chore: Fix possible NullReferenceExceptions, InvalidOperationExceptions 2025-09-30 15:05:14 -05:00
PipelineLayoutCacheEntry.cs misc: chore: Fix possible NullReferenceExceptions, InvalidOperationExceptions 2025-09-30 15:05:14 -05:00
PipelineLayoutFactory.cs misc: chore: Remove unnecessary usings 2024-12-12 01:08:47 -06:00
PipelineState.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
PipelineUid.cs Memory Changes part 2 2025-08-26 15:30:12 -05:00
RenderPassCacheKey.cs Vulkan: Add Render Pass / Framebuffer Cache (#6182) 2024-01-31 23:49:50 +01:00
RenderPassHolder.cs Memory changes 3 2025-10-30 23:25:51 -05:00
ResourceArray.cs Fix NRE when using buffer image array (#7159) 2024-08-21 00:49:17 +01:00
ResourceBindingSegment.cs Add support for large sampler arrays on Vulkan (#6489) 2024-04-07 18:25:55 -03:00
ResourceLayoutBuilder.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
Ryujinx.Graphics.Vulkan.csproj infra: Remove Ryujinx.Common references from project files that indirectly reference the same file 2025-05-29 11:10:57 -05:00
SamplerHolder.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
Shader.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
ShaderCollection.cs Fix push descriptors bugfix logic for Intel Arc on Linux 2025-10-01 15:30:02 -05:00
SpecInfo.cs [Ryujinx.Graphics.Vulkan] Address dotnet-format issues (#5378) 2023-07-01 12:31:42 +02:00
StagingBuffer.cs misc: chore: Fix possible NullReferenceExceptions, InvalidOperationExceptions 2025-09-30 15:05:14 -05:00
SyncManager.cs Memory changes 3 2025-10-30 23:25:51 -05:00
TextureArray.cs misc: chore: Use collection expressions (part 2) 2025-03-10 21:32:01 -05:00
TextureBuffer.cs misc: chore: Remove unnecessary usings 2024-12-12 01:08:47 -06:00
TextureCopy.cs Vulkan: Update Silk.NET to 2.21 (#7266) 2024-09-01 17:33:11 -03:00
TextureStorage.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
TextureView.cs misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
Vendor.cs Vulkan: Revise feedback loop restriction to RDNA 3 GPUs 2025-05-01 21:40:51 -05:00
VertexBufferState.cs Revert "Support VK_EXT_extended_dynamic_state and VK_EXT_extended_dynamic_state2" 2025-04-21 22:18:58 -05:00
VertexBufferUpdater.cs Revert "Support VK_EXT_extended_dynamic_state and VK_EXT_extended_dynamic_state2" 2025-04-21 22:18:58 -05:00
VulkanConfiguration.cs Vulkan: Use push descriptors for uniform bindings when possible (#6154) 2024-02-16 21:41:30 -03:00
VulkanDebugMessenger.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
VulkanException.cs misc: chore: Remove unnecessary usings 2024-12-12 01:08:47 -06:00
VulkanInitialization.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
VulkanInstance.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
VulkanPhysicalDevice.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
VulkanRenderer.cs misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
Window.cs Revert "misc: chore: Remove redundant code" 2025-03-15 20:00:22 -05:00
WindowBase.cs Add custom refresh rate mode to VSync option 2024-11-09 15:13:48 -06:00