aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs')
-rw-r--r--src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs b/src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs
index 24b0af2d..c30df046 100644
--- a/src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs
+++ b/src/Ryujinx.Graphics.GAL/Multithreading/BufferMap.cs
@@ -15,9 +15,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading
{
private ulong _bufferHandle = 0;
- private Dictionary<BufferHandle, BufferHandle> _bufferMap = new Dictionary<BufferHandle, BufferHandle>();
- private HashSet<BufferHandle> _inFlight = new HashSet<BufferHandle>();
- private AutoResetEvent _inFlightChanged = new AutoResetEvent(false);
+ private readonly Dictionary<BufferHandle, BufferHandle> _bufferMap = new();
+ private readonly HashSet<BufferHandle> _inFlight = new();
+ private readonly AutoResetEvent _inFlightChanged = new(false);
internal BufferHandle CreateBufferHandle()
{
@@ -59,14 +59,12 @@ namespace Ryujinx.Graphics.GAL.Multithreading
internal BufferHandle MapBuffer(BufferHandle handle)
{
// Maps a threaded buffer to a backend one.
- // Threaded buffers are returned on creation as the buffer
+ // Threaded buffers are returned on creation as the buffer
// isn't actually created until the queue runs the command.
- BufferHandle result;
-
lock (_bufferMap)
{
- if (!_bufferMap.TryGetValue(handle, out result))
+ if (!_bufferMap.TryGetValue(handle, out BufferHandle result))
{
result = BufferHandle.Null;
}
@@ -79,11 +77,10 @@ namespace Ryujinx.Graphics.GAL.Multithreading
{
// Blocks until the handle is available.
- BufferHandle result;
lock (_bufferMap)
{
- if (_bufferMap.TryGetValue(handle, out result))
+ if (_bufferMap.TryGetValue(handle, out BufferHandle result))
{
return result;
}
@@ -128,9 +125,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
for (int i = 0; i < ranges.Length; i++)
{
ref BufferRange range = ref ranges[i];
- BufferHandle result;
- if (!_bufferMap.TryGetValue(range.Handle, out result))
+ if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
{
result = BufferHandle.Null;
}
@@ -152,9 +148,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
{
ref BufferAssignment assignment = ref ranges[i];
BufferRange range = assignment.Range;
- BufferHandle result;
- if (!_bufferMap.TryGetValue(range.Handle, out result))
+ if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
{
result = BufferHandle.Null;
}
@@ -175,9 +170,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
for (int i = 0; i < ranges.Length; i++)
{
BufferRange range = ranges[i].Buffer;
- BufferHandle result;
- if (!_bufferMap.TryGetValue(range.Handle, out result))
+ if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
{
result = BufferHandle.Null;
}