TryHostConditionalRenderingCommand.cs
1 using Ryujinx.Graphics.GAL.Multithreading.Model; 2 using Ryujinx.Graphics.GAL.Multithreading.Resources; 3 4 namespace Ryujinx.Graphics.GAL.Multithreading.Commands 5 { 6 struct TryHostConditionalRenderingCommand : IGALCommand, IGALCommand<TryHostConditionalRenderingCommand> 7 { 8 public readonly CommandType CommandType => CommandType.TryHostConditionalRendering; 9 private TableRef<ThreadedCounterEvent> _value; 10 private ulong _compare; 11 private bool _isEqual; 12 13 public void Set(TableRef<ThreadedCounterEvent> value, ulong compare, bool isEqual) 14 { 15 _value = value; 16 _compare = compare; 17 _isEqual = isEqual; 18 } 19 20 public static void Run(ref TryHostConditionalRenderingCommand command, ThreadedRenderer threaded, IRenderer renderer) 21 { 22 renderer.Pipeline.TryHostConditionalRendering(command._value.Get(threaded)?.Base, command._compare, command._isEqual); 23 } 24 } 25 }