/ src / Ryujinx.Graphics.GAL / Multithreading / Commands / ClearRenderTargetDepthStencilCommand.cs
ClearRenderTargetDepthStencilCommand.cs
 1  namespace Ryujinx.Graphics.GAL.Multithreading.Commands
 2  {
 3      struct ClearRenderTargetDepthStencilCommand : IGALCommand, IGALCommand<ClearRenderTargetDepthStencilCommand>
 4      {
 5          public readonly CommandType CommandType => CommandType.ClearRenderTargetDepthStencil;
 6          private int _layer;
 7          private int _layerCount;
 8          private float _depthValue;
 9          private bool _depthMask;
10          private int _stencilValue;
11          private int _stencilMask;
12  
13          public void Set(int layer, int layerCount, float depthValue, bool depthMask, int stencilValue, int stencilMask)
14          {
15              _layer = layer;
16              _layerCount = layerCount;
17              _depthValue = depthValue;
18              _depthMask = depthMask;
19              _stencilValue = stencilValue;
20              _stencilMask = stencilMask;
21          }
22  
23          public static void Run(ref ClearRenderTargetDepthStencilCommand command, ThreadedRenderer threaded, IRenderer renderer)
24          {
25              renderer.Pipeline.ClearRenderTargetDepthStencil(command._layer, command._layerCount, command._depthValue, command._depthMask, command._stencilValue, command._stencilMask);
26          }
27      }
28  }