diff options
Diffstat (limited to 'Ryujinx.Graphics.GAL')
| -rw-r--r-- | Ryujinx.Graphics.GAL/ICounterEvent.cs | 11 | ||||
| -rw-r--r-- | Ryujinx.Graphics.GAL/IPipeline.cs | 4 | ||||
| -rw-r--r-- | Ryujinx.Graphics.GAL/IRenderer.cs | 6 |
3 files changed, 19 insertions, 2 deletions
diff --git a/Ryujinx.Graphics.GAL/ICounterEvent.cs b/Ryujinx.Graphics.GAL/ICounterEvent.cs new file mode 100644 index 00000000..dfabec61 --- /dev/null +++ b/Ryujinx.Graphics.GAL/ICounterEvent.cs @@ -0,0 +1,11 @@ +using System; + +namespace Ryujinx.Graphics.GAL +{ + public interface ICounterEvent : IDisposable + { + bool Invalid { get; set; } + + void Flush(); + } +} diff --git a/Ryujinx.Graphics.GAL/IPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs index 290462fa..3bf7ab93 100644 --- a/Ryujinx.Graphics.GAL/IPipeline.cs +++ b/Ryujinx.Graphics.GAL/IPipeline.cs @@ -75,5 +75,9 @@ namespace Ryujinx.Graphics.GAL void TextureBarrier(); void TextureBarrierTiled(); + + bool TryHostConditionalRendering(ICounterEvent value, ulong compare, bool isEqual); + bool TryHostConditionalRendering(ICounterEvent value, ICounterEvent compare, bool isEqual); + void EndHostConditionalRendering(); } } diff --git a/Ryujinx.Graphics.GAL/IRenderer.cs b/Ryujinx.Graphics.GAL/IRenderer.cs index 56856b23..4a45f5cb 100644 --- a/Ryujinx.Graphics.GAL/IRenderer.cs +++ b/Ryujinx.Graphics.GAL/IRenderer.cs @@ -20,10 +20,12 @@ namespace Ryujinx.Graphics.GAL Capabilities GetCapabilities(); - ulong GetCounter(CounterType type); + void UpdateCounters(); - void Initialize(); + ICounterEvent ReportCounter(CounterType type, EventHandler<ulong> resultHandler); void ResetCounter(CounterType type); + + void Initialize(); } } |
