aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Counters.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Counters.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Counters.cs77
1 files changed, 0 insertions, 77 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Counters.cs b/Ryujinx.Graphics.OpenGL/Counters.cs
deleted file mode 100644
index e82a040f..00000000
--- a/Ryujinx.Graphics.OpenGL/Counters.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using OpenTK.Graphics.OpenGL;
-using Ryujinx.Graphics.GAL;
-using System;
-
-namespace Ryujinx.Graphics.OpenGL
-{
- class Counters
- {
- private int[] _queryObjects;
-
- private ulong[] _accumulatedCounters;
-
- public Counters()
- {
- int count = Enum.GetNames(typeof(CounterType)).Length;
-
- _queryObjects = new int[count];
-
- _accumulatedCounters = new ulong[count];
- }
-
- public void Initialize()
- {
- for (int index = 0; index < _queryObjects.Length; index++)
- {
- int handle = GL.GenQuery();
-
- _queryObjects[index] = handle;
-
- CounterType type = (CounterType)index;
-
- GL.BeginQuery(GetTarget(type), handle);
- }
- }
-
- public ulong GetCounter(CounterType type)
- {
- UpdateAccumulatedCounter(type);
-
- return _accumulatedCounters[(int)type];
- }
-
- public void ResetCounter(CounterType type)
- {
- UpdateAccumulatedCounter(type);
-
- _accumulatedCounters[(int)type] = 0;
- }
-
- private void UpdateAccumulatedCounter(CounterType type)
- {
- int handle = _queryObjects[(int)type];
-
- QueryTarget target = GetTarget(type);
-
- GL.EndQuery(target);
-
- GL.GetQueryObject(handle, GetQueryObjectParam.QueryResult, out long result);
-
- _accumulatedCounters[(int)type] += (ulong)result;
-
- GL.BeginQuery(target, handle);
- }
-
- private static QueryTarget GetTarget(CounterType type)
- {
- switch (type)
- {
- case CounterType.SamplesPassed: return QueryTarget.SamplesPassed;
- case CounterType.PrimitivesGenerated: return QueryTarget.PrimitivesGenerated;
- case CounterType.TransformFeedbackPrimitivesWritten: return QueryTarget.TransformFeedbackPrimitivesWritten;
- }
-
- return QueryTarget.SamplesPassed;
- }
- }
-}