aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2020-05-04 03:24:59 +0100
committerGitHub <noreply@github.com>2020-05-04 12:24:59 +1000
commitcd48576f5846aa89a36bfc833e9de5dde9627aed (patch)
tree5bf04a43725cf7fdc098cde59856798a67b839e0 /Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs
parent651a07c6c2a3e89c059d56e916c45e1881d56abc (diff)
Implement Counter Queue and Partial Host Conditional Rendering (#1167)
* Implementation of query queue and host conditional rendering * Resolve some comments. * Use overloads instead of passing object. * Wake the consumer threads when incrementing syncpoints. Also, do a busy loop when awaiting the counter for a blocking flush, rather than potentially sleeping the thread. * Ensure there's a command between begin and end query.
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs6
1 files changed, 3 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs b/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs
index f4af86f3..6f9ee6a4 100644
--- a/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs
+++ b/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs
@@ -181,13 +181,13 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
lock (_pageTable)
{
+ // Event handlers are not expected to be thread safe.
+ MemoryUnmapped?.Invoke(this, new UnmapEventArgs(va, size));
+
for (ulong offset = 0; offset < size; offset += PageSize)
{
SetPte(va + offset, PteUnmapped);
}
-
- // Event handlers are not expected to be thread safe.
- MemoryUnmapped?.Invoke(this, new UnmapEventArgs(va, size));
}
}