From bebd8eb8223ba888b272e42967dc408102e99de1 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Tue, 16 Jan 2024 12:22:20 +0000 Subject: Vulkan: Cache delegate for EndRenderPass (#6132) This prevents a small allocation each time this method is called. This is a top 3 SOH allocation during gameplay in most games, and eliminating it is pretty free. --- src/Ryujinx.Graphics.Vulkan/PipelineBase.cs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/Ryujinx.Graphics.Vulkan/PipelineBase.cs') diff --git a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs index 28d05a52..b05dd1a6 100644 --- a/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs +++ b/src/Ryujinx.Graphics.Vulkan/PipelineBase.cs @@ -30,6 +30,7 @@ namespace Ryujinx.Graphics.Vulkan public readonly PipelineCache PipelineCache; public readonly AutoFlushCounter AutoFlush; + public readonly Action EndRenderPassDelegate; protected PipelineDynamicState DynamicState; private PipelineState _newState; @@ -92,6 +93,7 @@ namespace Ryujinx.Graphics.Vulkan Device = device; AutoFlush = new AutoFlushCounter(gd); + EndRenderPassDelegate = EndRenderPass; var pipelineCacheCreateInfo = new PipelineCacheCreateInfo { -- cgit v1.2.3