From 458452279cee03bfe1bbf2c3daf3fc9722b03a74 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Thu, 1 Dec 2022 15:30:13 +0000 Subject: GPU: Track buffer migrations and flush source on incomplete copy (#3952) * Track buffer migrations and flush source on incomplete copy Makes sure that the modified range list is always from the latest iteration of the buffer, and flushes earlier iterations of a buffer if the data has not been migrated yet. * Cleanup 1 * Reduce cost for redundant signal checks on Vulkan * Only inherit the range list if there are pending ranges. * Fix OpenGL * Address Feedback * Whoops --- Ryujinx.Graphics.GAL/IRenderer.cs | 1 + Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'Ryujinx.Graphics.GAL') diff --git a/Ryujinx.Graphics.GAL/IRenderer.cs b/Ryujinx.Graphics.GAL/IRenderer.cs index cf67f648..c72320a2 100644 --- a/Ryujinx.Graphics.GAL/IRenderer.cs +++ b/Ryujinx.Graphics.GAL/IRenderer.cs @@ -29,6 +29,7 @@ namespace Ryujinx.Graphics.GAL ReadOnlySpan GetBufferData(BufferHandle buffer, int offset, int size); Capabilities GetCapabilities(); + ulong GetCurrentSync(); HardwareInfo GetHardwareInfo(); IProgram LoadProgramBinary(byte[] programBinary, bool hasFragmentShader, ShaderInfo info); diff --git a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs index 7a625af3..a9e3b75c 100644 --- a/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs +++ b/Ryujinx.Graphics.GAL/Multithreading/ThreadedRenderer.cs @@ -338,6 +338,11 @@ namespace Ryujinx.Graphics.GAL.Multithreading return box.Result; } + public ulong GetCurrentSync() + { + return _baseRenderer.GetCurrentSync(); + } + public HardwareInfo GetHardwareInfo() { return _baseRenderer.GetHardwareInfo(); -- cgit v1.2.3