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
This commit is contained in:
riperiperi 2022-12-01 15:30:13 +00:00 committed by GitHub
parent 817b89767a
commit 458452279c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 451 additions and 87 deletions

View file

@ -238,6 +238,11 @@ namespace Ryujinx.Graphics.OpenGL
_sync.Wait(id);
}
public ulong GetCurrentSync()
{
return _sync.GetCurrent();
}
public void Screenshot()
{
_window.ScreenCaptureRequested = true;