aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/Queries
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/Queries')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs18
-rw-r--r--src/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs18
-rw-r--r--src/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs6
3 files changed, 20 insertions, 22 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs b/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs
index 861155a3..8d4fdc19 100644
--- a/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs
+++ b/src/Ryujinx.Graphics.Vulkan/Queries/BufferedQuery.cs
@@ -23,10 +23,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries
private readonly BufferHolder _buffer;
private readonly IntPtr _bufferMap;
private readonly CounterType _type;
- private bool _result32Bit;
- private bool _isSupported;
+ private readonly bool _result32Bit;
+ private readonly bool _isSupported;
- private long _defaultValue;
+ private readonly long _defaultValue;
private int? _resetSequence;
public unsafe BufferedQuery(VulkanRenderer gd, Device device, PipelineFull pipeline, CounterType type, bool result32Bit)
@@ -44,12 +44,12 @@ namespace Ryujinx.Graphics.Vulkan.Queries
QueryPipelineStatisticFlags flags = type == CounterType.PrimitivesGenerated ?
QueryPipelineStatisticFlags.GeometryShaderPrimitivesBit : 0;
- var queryPoolCreateInfo = new QueryPoolCreateInfo()
+ var queryPoolCreateInfo = new QueryPoolCreateInfo
{
SType = StructureType.QueryPoolCreateInfo,
QueryCount = 1,
QueryType = GetQueryType(type),
- PipelineStatistics = flags
+ PipelineStatistics = flags,
};
gd.Api.CreateQueryPool(device, queryPoolCreateInfo, null, out _queryPool).ThrowOnError();
@@ -63,14 +63,14 @@ namespace Ryujinx.Graphics.Vulkan.Queries
_buffer = buffer;
}
- private bool QueryTypeSupported(VulkanRenderer gd, CounterType type)
+ private static bool QueryTypeSupported(VulkanRenderer gd, CounterType type)
{
return type switch
{
CounterType.SamplesPassed => true,
CounterType.PrimitivesGenerated => gd.Capabilities.SupportsPipelineStatisticsQuery,
CounterType.TransformFeedbackPrimitivesWritten => gd.Capabilities.SupportsTransformFeedbackQueries,
- _ => false
+ _ => false,
};
}
@@ -81,7 +81,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries
CounterType.SamplesPassed => QueryType.Occlusion,
CounterType.PrimitivesGenerated => QueryType.PipelineStatistics,
CounterType.TransformFeedbackPrimitivesWritten => QueryType.TransformFeedbackStreamExt,
- _ => QueryType.Occlusion
+ _ => QueryType.Occlusion,
};
}
@@ -107,7 +107,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries
_resetSequence = null;
}
- public unsafe void End(bool withResult)
+ public void End(bool withResult)
{
if (_isSupported)
{
diff --git a/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs b/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs
index 2fdddaea..724588d5 100644
--- a/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs
+++ b/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueue.cs
@@ -18,7 +18,7 @@ namespace Ryujinx.Graphics.Vulkan.Queries
public CounterType Type { get; }
public bool Disposed { get; private set; }
- private Queue<CounterQueueEvent> _events = new Queue<CounterQueueEvent>();
+ private readonly Queue<CounterQueueEvent> _events = new();
private CounterQueueEvent _current;
private ulong _accumulatedCounter;
@@ -26,12 +26,12 @@ namespace Ryujinx.Graphics.Vulkan.Queries
private readonly object _lock = new();
- private Queue<BufferedQuery> _queryPool;
- private AutoResetEvent _queuedEvent = new AutoResetEvent(false);
- private AutoResetEvent _wakeSignal = new AutoResetEvent(false);
- private AutoResetEvent _eventConsumed = new AutoResetEvent(false);
+ private readonly Queue<BufferedQuery> _queryPool;
+ private readonly AutoResetEvent _queuedEvent = new(false);
+ private readonly AutoResetEvent _wakeSignal = new(false);
+ private readonly AutoResetEvent _eventConsumed = new(false);
- private Thread _consumerThread;
+ private readonly Thread _consumerThread;
public int ResetSequence { get; private set; }
@@ -116,10 +116,8 @@ namespace Ryujinx.Graphics.Vulkan.Queries
BufferedQuery result = _queryPool.Dequeue();
return result;
}
- else
- {
- return new BufferedQuery(_gd, _device, _pipeline, Type, _gd.IsAmdWindows);
- }
+
+ return new BufferedQuery(_gd, _device, _pipeline, Type, _gd.IsAmdWindows);
}
}
diff --git a/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs b/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs
index 9d0a674b..77d9a355 100644
--- a/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs
+++ b/src/Ryujinx.Graphics.Vulkan/Queries/CounterQueueEvent.cs
@@ -16,10 +16,10 @@ namespace Ryujinx.Graphics.Vulkan.Queries
public ulong DrawIndex { get; }
- private CounterQueue _queue;
- private BufferedQuery _counter;
+ private readonly CounterQueue _queue;
+ private readonly BufferedQuery _counter;
- private bool _hostAccessReserved = false;
+ private bool _hostAccessReserved;
private int _refCount = 1; // Starts with a reference from the counter queue.
private readonly object _lock = new();