[Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366)
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0052 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA1069 warnings * Address remaining dotnet format analyzer warnings * Address review comments * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Revert formatting changes for while and for-loops * Another rebase, another dotnet format run * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Address IDE0251 warnings * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Address review feedback * Add trailing commas * Remove SuppressMessage for IDE0066 * Make explicit Equals implementation implicit
This commit is contained in:
parent
16fa983704
commit
7c989f88bd
161 changed files with 481 additions and 439 deletions
|
@ -15,9 +15,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
{
|
||||
private ulong _bufferHandle = 0;
|
||||
|
||||
private Dictionary<BufferHandle, BufferHandle> _bufferMap = new Dictionary<BufferHandle, BufferHandle>();
|
||||
private HashSet<BufferHandle> _inFlight = new HashSet<BufferHandle>();
|
||||
private AutoResetEvent _inFlightChanged = new AutoResetEvent(false);
|
||||
private readonly Dictionary<BufferHandle, BufferHandle> _bufferMap = new();
|
||||
private readonly HashSet<BufferHandle> _inFlight = new();
|
||||
private readonly AutoResetEvent _inFlightChanged = new(false);
|
||||
|
||||
internal BufferHandle CreateBufferHandle()
|
||||
{
|
||||
|
@ -59,14 +59,12 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
internal BufferHandle MapBuffer(BufferHandle handle)
|
||||
{
|
||||
// Maps a threaded buffer to a backend one.
|
||||
// Threaded buffers are returned on creation as the buffer
|
||||
// Threaded buffers are returned on creation as the buffer
|
||||
// isn't actually created until the queue runs the command.
|
||||
|
||||
BufferHandle result;
|
||||
|
||||
lock (_bufferMap)
|
||||
{
|
||||
if (!_bufferMap.TryGetValue(handle, out result))
|
||||
if (!_bufferMap.TryGetValue(handle, out BufferHandle result))
|
||||
{
|
||||
result = BufferHandle.Null;
|
||||
}
|
||||
|
@ -79,11 +77,10 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
{
|
||||
// Blocks until the handle is available.
|
||||
|
||||
BufferHandle result;
|
||||
|
||||
lock (_bufferMap)
|
||||
{
|
||||
if (_bufferMap.TryGetValue(handle, out result))
|
||||
if (_bufferMap.TryGetValue(handle, out BufferHandle result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
@ -128,9 +125,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
for (int i = 0; i < ranges.Length; i++)
|
||||
{
|
||||
ref BufferRange range = ref ranges[i];
|
||||
BufferHandle result;
|
||||
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out result))
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
|
||||
{
|
||||
result = BufferHandle.Null;
|
||||
}
|
||||
|
@ -152,9 +148,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
{
|
||||
ref BufferAssignment assignment = ref ranges[i];
|
||||
BufferRange range = assignment.Range;
|
||||
BufferHandle result;
|
||||
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out result))
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
|
||||
{
|
||||
result = BufferHandle.Null;
|
||||
}
|
||||
|
@ -175,9 +170,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
for (int i = 0; i < ranges.Length; i++)
|
||||
{
|
||||
BufferRange range = ranges[i].Buffer;
|
||||
BufferHandle result;
|
||||
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out result))
|
||||
if (!_bufferMap.TryGetValue(range.Handle, out BufferHandle result))
|
||||
{
|
||||
result = BufferHandle.Null;
|
||||
}
|
||||
|
|
|
@ -17,8 +17,8 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
{
|
||||
private delegate void CommandDelegate(Span<byte> memory, ThreadedRenderer threaded, IRenderer renderer);
|
||||
|
||||
private static int _totalCommands = (int)Enum.GetValues<CommandType>().Max() + 1;
|
||||
private static CommandDelegate[] _lookup = new CommandDelegate[_totalCommands];
|
||||
private static readonly int _totalCommands = (int)Enum.GetValues<CommandType>().Max() + 1;
|
||||
private static readonly CommandDelegate[] _lookup = new CommandDelegate[_totalCommands];
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
private static ref T GetCommand<T>(Span<byte> memory)
|
||||
|
@ -146,7 +146,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading
|
|||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static void RunCommand(Span<byte> memory, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
_lookup[memory[memory.Length - 1]](memory, threaded, renderer);
|
||||
_lookup[memory[^1]](memory, threaded, renderer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,6 +100,6 @@
|
|||
TextureBarrierTiled,
|
||||
TryHostConditionalRendering,
|
||||
TryHostConditionalRenderingFlush,
|
||||
UpdateRenderScale
|
||||
UpdateRenderScale,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct BarrierCommand : IGALCommand, IGALCommand<BarrierCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.Barrier;
|
||||
public readonly CommandType CommandType => CommandType.Barrier;
|
||||
|
||||
public static void Run(ref BarrierCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct BeginTransformFeedbackCommand : IGALCommand, IGALCommand<BeginTransformFeedbackCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.BeginTransformFeedback;
|
||||
public readonly CommandType CommandType => CommandType.BeginTransformFeedback;
|
||||
private PrimitiveTopology _topology;
|
||||
|
||||
public void Set(PrimitiveTopology topology)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct BufferDisposeCommand : IGALCommand, IGALCommand<BufferDisposeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.BufferDispose;
|
||||
public readonly CommandType CommandType => CommandType.BufferDispose;
|
||||
private BufferHandle _buffer;
|
||||
|
||||
public void Set(BufferHandle buffer)
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
using Ryujinx.Graphics.GAL.Multithreading.Model;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Buffer
|
||||
{
|
||||
struct BufferGetDataCommand : IGALCommand, IGALCommand<BufferGetDataCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.BufferGetData;
|
||||
public readonly CommandType CommandType => CommandType.BufferGetData;
|
||||
private BufferHandle _buffer;
|
||||
private int _offset;
|
||||
private int _size;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Buffer
|
|||
{
|
||||
struct BufferSetDataCommand : IGALCommand, IGALCommand<BufferSetDataCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.BufferSetData;
|
||||
public readonly CommandType CommandType => CommandType.BufferSetData;
|
||||
private BufferHandle _buffer;
|
||||
private int _offset;
|
||||
private SpanRef<byte> _data;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct ClearBufferCommand : IGALCommand, IGALCommand<ClearBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ClearBuffer;
|
||||
public readonly CommandType CommandType => CommandType.ClearBuffer;
|
||||
private BufferHandle _destination;
|
||||
private int _offset;
|
||||
private int _size;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct ClearRenderTargetColorCommand : IGALCommand, IGALCommand<ClearRenderTargetColorCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ClearRenderTargetColor;
|
||||
public readonly CommandType CommandType => CommandType.ClearRenderTargetColor;
|
||||
private int _index;
|
||||
private int _layer;
|
||||
private int _layerCount;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct ClearRenderTargetDepthStencilCommand : IGALCommand, IGALCommand<ClearRenderTargetDepthStencilCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ClearRenderTargetDepthStencil;
|
||||
public readonly CommandType CommandType => CommandType.ClearRenderTargetDepthStencil;
|
||||
private int _layer;
|
||||
private int _layerCount;
|
||||
private float _depthValue;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CommandBufferBarrierCommand : IGALCommand, IGALCommand<CommandBufferBarrierCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CommandBufferBarrier;
|
||||
public readonly CommandType CommandType => CommandType.CommandBufferBarrier;
|
||||
|
||||
public static void Run(ref CommandBufferBarrierCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CopyBufferCommand : IGALCommand, IGALCommand<CopyBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CopyBuffer;
|
||||
public readonly CommandType CommandType => CommandType.CopyBuffer;
|
||||
private BufferHandle _source;
|
||||
private BufferHandle _destination;
|
||||
private int _srcOffset;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.CounterEvent
|
|||
{
|
||||
struct CounterEventDisposeCommand : IGALCommand, IGALCommand<CounterEventDisposeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CounterEventDispose;
|
||||
public readonly CommandType CommandType => CommandType.CounterEventDispose;
|
||||
private TableRef<ThreadedCounterEvent> _event;
|
||||
|
||||
public void Set(TableRef<ThreadedCounterEvent> evt)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.CounterEvent
|
|||
{
|
||||
struct CounterEventFlushCommand : IGALCommand, IGALCommand<CounterEventFlushCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CounterEventFlush;
|
||||
public readonly CommandType CommandType => CommandType.CounterEventFlush;
|
||||
private TableRef<ThreadedCounterEvent> _event;
|
||||
|
||||
public void Set(TableRef<ThreadedCounterEvent> evt)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct DispatchComputeCommand : IGALCommand, IGALCommand<DispatchComputeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DispatchCompute;
|
||||
public readonly CommandType CommandType => CommandType.DispatchCompute;
|
||||
private int _groupsX;
|
||||
private int _groupsY;
|
||||
private int _groupsZ;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct DrawIndexedCommand : IGALCommand, IGALCommand<DrawIndexedCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawIndexed;
|
||||
public readonly CommandType CommandType => CommandType.DrawIndexed;
|
||||
private int _indexCount;
|
||||
private int _instanceCount;
|
||||
private int _firstIndex;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct DrawCommand : IGALCommand, IGALCommand<DrawCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.Draw;
|
||||
public readonly CommandType CommandType => CommandType.Draw;
|
||||
private int _vertexCount;
|
||||
private int _instanceCount;
|
||||
private int _firstVertex;
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct DrawIndexedIndirectCommand : IGALCommand, IGALCommand<DrawIndexedIndirectCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawIndexedIndirect;
|
||||
public readonly CommandType CommandType => CommandType.DrawIndexedIndirect;
|
||||
private BufferRange _indirectBuffer;
|
||||
|
||||
public void Set(BufferRange indirectBuffer)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct DrawIndexedIndirectCountCommand : IGALCommand, IGALCommand<DrawIndexedIndirectCountCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawIndexedIndirectCount;
|
||||
public readonly CommandType CommandType => CommandType.DrawIndexedIndirectCount;
|
||||
private BufferRange _indirectBuffer;
|
||||
private BufferRange _parameterBuffer;
|
||||
private int _maxDrawCount;
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct DrawIndirectCommand : IGALCommand, IGALCommand<DrawIndirectCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawIndirect;
|
||||
public readonly CommandType CommandType => CommandType.DrawIndirect;
|
||||
private BufferRange _indirectBuffer;
|
||||
|
||||
public void Set(BufferRange indirectBuffer)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct DrawIndirectCountCommand : IGALCommand, IGALCommand<DrawIndirectCountCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawIndirectCount;
|
||||
public readonly CommandType CommandType => CommandType.DrawIndirectCount;
|
||||
private BufferRange _indirectBuffer;
|
||||
private BufferRange _parameterBuffer;
|
||||
private int _maxDrawCount;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct DrawTextureCommand : IGALCommand, IGALCommand<DrawTextureCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.DrawTexture;
|
||||
public readonly CommandType CommandType => CommandType.DrawTexture;
|
||||
private TableRef<ITexture> _texture;
|
||||
private TableRef<ISampler> _sampler;
|
||||
private Extents2DF _srcRegion;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct EndHostConditionalRenderingCommand : IGALCommand, IGALCommand<EndHostConditionalRenderingCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.EndHostConditionalRendering;
|
||||
public readonly CommandType CommandType => CommandType.EndHostConditionalRendering;
|
||||
|
||||
public static void Run(ref EndHostConditionalRenderingCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct EndTransformFeedbackCommand : IGALCommand, IGALCommand<EndTransformFeedbackCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.EndTransformFeedback;
|
||||
public readonly CommandType CommandType => CommandType.EndTransformFeedback;
|
||||
|
||||
public static void Run(ref EndTransformFeedbackCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Program
|
|||
{
|
||||
struct ProgramCheckLinkCommand : IGALCommand, IGALCommand<ProgramCheckLinkCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ProgramCheckLink;
|
||||
public readonly CommandType CommandType => CommandType.ProgramCheckLink;
|
||||
private TableRef<ThreadedProgram> _program;
|
||||
private bool _blocking;
|
||||
private TableRef<ResultBox<ProgramLinkStatus>> _result;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Program
|
|||
{
|
||||
struct ProgramDisposeCommand : IGALCommand, IGALCommand<ProgramDisposeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ProgramDispose;
|
||||
public readonly CommandType CommandType => CommandType.ProgramDispose;
|
||||
private TableRef<ThreadedProgram> _program;
|
||||
|
||||
public void Set(TableRef<ThreadedProgram> program)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Program
|
|||
{
|
||||
struct ProgramGetBinaryCommand : IGALCommand, IGALCommand<ProgramGetBinaryCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ProgramGetBinary;
|
||||
public readonly CommandType CommandType => CommandType.ProgramGetBinary;
|
||||
private TableRef<ThreadedProgram> _program;
|
||||
private TableRef<ResultBox<byte[]>> _result;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct ActionCommand : IGALCommand, IGALCommand<ActionCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.Action;
|
||||
public readonly CommandType CommandType => CommandType.Action;
|
||||
private TableRef<Action> _action;
|
||||
|
||||
public void Set(TableRef<Action> action)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CreateBufferAccessCommand : IGALCommand, IGALCommand<CreateBufferAccessCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateBufferAccess;
|
||||
public readonly CommandType CommandType => CommandType.CreateBufferAccess;
|
||||
private BufferHandle _threadedHandle;
|
||||
private int _size;
|
||||
private BufferAccess _access;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CreateBufferCommand : IGALCommand, IGALCommand<CreateBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateBuffer;
|
||||
public readonly CommandType CommandType => CommandType.CreateBuffer;
|
||||
private BufferHandle _threadedHandle;
|
||||
private int _size;
|
||||
private BufferHandle _storageHint;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CreateHostBufferCommand : IGALCommand, IGALCommand<CreateHostBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateHostBuffer;
|
||||
public readonly CommandType CommandType => CommandType.CreateHostBuffer;
|
||||
private BufferHandle _threadedHandle;
|
||||
private nint _pointer;
|
||||
private int _size;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct CreateProgramCommand : IGALCommand, IGALCommand<CreateProgramCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateProgram;
|
||||
public readonly CommandType CommandType => CommandType.CreateProgram;
|
||||
private TableRef<IProgramRequest> _request;
|
||||
|
||||
public void Set(TableRef<IProgramRequest> request)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct CreateSamplerCommand : IGALCommand, IGALCommand<CreateSamplerCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateSampler;
|
||||
public readonly CommandType CommandType => CommandType.CreateSampler;
|
||||
private TableRef<ThreadedSampler> _sampler;
|
||||
private SamplerCreateInfo _info;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct CreateSyncCommand : IGALCommand, IGALCommand<CreateSyncCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateSync;
|
||||
public readonly CommandType CommandType => CommandType.CreateSync;
|
||||
private ulong _id;
|
||||
private bool _strict;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct CreateTextureCommand : IGALCommand, IGALCommand<CreateTextureCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.CreateTexture;
|
||||
public readonly CommandType CommandType => CommandType.CreateTexture;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TextureCreateInfo _info;
|
||||
private float _scale;
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct GetCapabilitiesCommand : IGALCommand, IGALCommand<GetCapabilitiesCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.GetCapabilities;
|
||||
public readonly CommandType CommandType => CommandType.GetCapabilities;
|
||||
private TableRef<ResultBox<Capabilities>> _result;
|
||||
|
||||
public void Set(TableRef<ResultBox<Capabilities>> result)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct PreFrameCommand : IGALCommand, IGALCommand<PreFrameCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.PreFrame;
|
||||
public readonly CommandType CommandType => CommandType.PreFrame;
|
||||
|
||||
public static void Run(ref PreFrameCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
|
|||
{
|
||||
struct ReportCounterCommand : IGALCommand, IGALCommand<ReportCounterCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ReportCounter;
|
||||
public readonly CommandType CommandType => CommandType.ReportCounter;
|
||||
private TableRef<ThreadedCounterEvent> _event;
|
||||
private CounterType _type;
|
||||
private TableRef<EventHandler<ulong>> _resultHandler;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct ResetCounterCommand : IGALCommand, IGALCommand<ResetCounterCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.ResetCounter;
|
||||
public readonly CommandType CommandType => CommandType.ResetCounter;
|
||||
private CounterType _type;
|
||||
|
||||
public void Set(CounterType type)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct UpdateCountersCommand : IGALCommand, IGALCommand<UpdateCountersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.UpdateCounters;
|
||||
public readonly CommandType CommandType => CommandType.UpdateCounters;
|
||||
|
||||
public static void Run(ref UpdateCountersCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Sampler
|
|||
{
|
||||
struct SamplerDisposeCommand : IGALCommand, IGALCommand<SamplerDisposeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SamplerDispose;
|
||||
public readonly CommandType CommandType => CommandType.SamplerDispose;
|
||||
private TableRef<ThreadedSampler> _sampler;
|
||||
|
||||
public void Set(TableRef<ThreadedSampler> sampler)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetAlphaTestCommand : IGALCommand, IGALCommand<SetAlphaTestCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetAlphaTest;
|
||||
public readonly CommandType CommandType => CommandType.SetAlphaTest;
|
||||
private bool _enable;
|
||||
private float _reference;
|
||||
private CompareOp _op;
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetBlendStateAdvancedCommand : IGALCommand, IGALCommand<SetBlendStateAdvancedCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetBlendStateAdvanced;
|
||||
public readonly CommandType CommandType => CommandType.SetBlendStateAdvanced;
|
||||
private AdvancedBlendDescriptor _blend;
|
||||
|
||||
public void Set(AdvancedBlendDescriptor blend)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetBlendStateCommand : IGALCommand, IGALCommand<SetBlendStateCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetBlendState;
|
||||
public readonly CommandType CommandType => CommandType.SetBlendState;
|
||||
private int _index;
|
||||
private BlendDescriptor _blend;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetDepthBiasCommand : IGALCommand, IGALCommand<SetDepthBiasCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetDepthBias;
|
||||
public readonly CommandType CommandType => CommandType.SetDepthBias;
|
||||
private PolygonModeMask _enables;
|
||||
private float _factor;
|
||||
private float _units;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetDepthClampCommand : IGALCommand, IGALCommand<SetDepthClampCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetDepthClamp;
|
||||
public readonly CommandType CommandType => CommandType.SetDepthClamp;
|
||||
private bool _clamp;
|
||||
|
||||
public void Set(bool clamp)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetDepthModeCommand : IGALCommand, IGALCommand<SetDepthModeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetDepthMode;
|
||||
public readonly CommandType CommandType => CommandType.SetDepthMode;
|
||||
private DepthMode _mode;
|
||||
|
||||
public void Set(DepthMode mode)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetDepthTestCommand : IGALCommand, IGALCommand<SetDepthTestCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetDepthTest;
|
||||
public readonly CommandType CommandType => CommandType.SetDepthTest;
|
||||
private DepthTestDescriptor _depthTest;
|
||||
|
||||
public void Set(DepthTestDescriptor depthTest)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetFaceCullingCommand : IGALCommand, IGALCommand<SetFaceCullingCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetFaceCulling;
|
||||
public readonly CommandType CommandType => CommandType.SetFaceCulling;
|
||||
private bool _enable;
|
||||
private Face _face;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetFrontFaceCommand : IGALCommand, IGALCommand<SetFrontFaceCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetFrontFace;
|
||||
public readonly CommandType CommandType => CommandType.SetFrontFace;
|
||||
private FrontFace _frontFace;
|
||||
|
||||
public void Set(FrontFace frontFace)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetImageCommand : IGALCommand, IGALCommand<SetImageCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetImage;
|
||||
public readonly CommandType CommandType => CommandType.SetImage;
|
||||
private int _binding;
|
||||
private TableRef<ITexture> _texture;
|
||||
private Format _imageFormat;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetIndexBufferCommand : IGALCommand, IGALCommand<SetIndexBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetIndexBuffer;
|
||||
public readonly CommandType CommandType => CommandType.SetIndexBuffer;
|
||||
private BufferRange _buffer;
|
||||
private IndexType _type;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetLineParametersCommand : IGALCommand, IGALCommand<SetLineParametersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetLineParameters;
|
||||
public readonly CommandType CommandType => CommandType.SetLineParameters;
|
||||
private float _width;
|
||||
private bool _smooth;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetLogicOpStateCommand : IGALCommand, IGALCommand<SetLogicOpStateCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetLogicOpState;
|
||||
public readonly CommandType CommandType => CommandType.SetLogicOpState;
|
||||
private bool _enable;
|
||||
private LogicalOp _op;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetMultisampleStateCommand : IGALCommand, IGALCommand<SetMultisampleStateCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetMultisampleState;
|
||||
public readonly CommandType CommandType => CommandType.SetMultisampleState;
|
||||
private MultisampleDescriptor _multisample;
|
||||
|
||||
public void Set(MultisampleDescriptor multisample)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetPatchParametersCommand : IGALCommand, IGALCommand<SetPatchParametersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetPatchParameters;
|
||||
public readonly CommandType CommandType => CommandType.SetPatchParameters;
|
||||
private int _vertices;
|
||||
private Array4<float> _defaultOuterLevel;
|
||||
private Array2<float> _defaultInnerLevel;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetPointParametersCommand : IGALCommand, IGALCommand<SetPointParametersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetPointParameters;
|
||||
public readonly CommandType CommandType => CommandType.SetPointParameters;
|
||||
private float _size;
|
||||
private bool _isProgramPointSize;
|
||||
private bool _enablePointSprite;
|
||||
|
|
|
@ -2,7 +2,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetPolygonModeCommand : IGALCommand, IGALCommand<SetPolygonModeCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetPolygonMode;
|
||||
public readonly CommandType CommandType => CommandType.SetPolygonMode;
|
||||
private PolygonMode _frontMode;
|
||||
private PolygonMode _backMode;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetPrimitiveRestartCommand : IGALCommand, IGALCommand<SetPrimitiveRestartCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetPrimitiveRestart;
|
||||
public readonly CommandType CommandType => CommandType.SetPrimitiveRestart;
|
||||
private bool _enable;
|
||||
private int _index;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetPrimitiveTopologyCommand : IGALCommand, IGALCommand<SetPrimitiveTopologyCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetPrimitiveTopology;
|
||||
public readonly CommandType CommandType => CommandType.SetPrimitiveTopology;
|
||||
private PrimitiveTopology _topology;
|
||||
|
||||
public void Set(PrimitiveTopology topology)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetProgramCommand : IGALCommand, IGALCommand<SetProgramCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetProgram;
|
||||
public readonly CommandType CommandType => CommandType.SetProgram;
|
||||
private TableRef<IProgram> _program;
|
||||
|
||||
public void Set(TableRef<IProgram> program)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetRasterizerDiscardCommand : IGALCommand, IGALCommand<SetRasterizerDiscardCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetRasterizerDiscard;
|
||||
public readonly CommandType CommandType => CommandType.SetRasterizerDiscard;
|
||||
private bool _discard;
|
||||
|
||||
public void Set(bool discard)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetRenderTargetColorMasksCommand : IGALCommand, IGALCommand<SetRenderTargetColorMasksCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetRenderTargetColorMasks;
|
||||
public readonly CommandType CommandType => CommandType.SetRenderTargetColorMasks;
|
||||
private SpanRef<uint> _componentMask;
|
||||
|
||||
public void Set(SpanRef<uint> componentMask)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetRenderTargetScaleCommand : IGALCommand, IGALCommand<SetRenderTargetScaleCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetRenderTargetScale;
|
||||
public readonly CommandType CommandType => CommandType.SetRenderTargetScale;
|
||||
private float _scale;
|
||||
|
||||
public void Set(float scale)
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetRenderTargetsCommand : IGALCommand, IGALCommand<SetRenderTargetsCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetRenderTargets;
|
||||
public readonly CommandType CommandType => CommandType.SetRenderTargets;
|
||||
private TableRef<ITexture[]> _colors;
|
||||
private TableRef<ITexture> _depthStencil;
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetScissorsCommand : IGALCommand, IGALCommand<SetScissorsCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetScissor;
|
||||
public readonly CommandType CommandType => CommandType.SetScissor;
|
||||
private SpanRef<Rectangle<int>> _scissors;
|
||||
|
||||
public void Set(SpanRef<Rectangle<int>> scissors)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetStencilTestCommand : IGALCommand, IGALCommand<SetStencilTestCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetStencilTest;
|
||||
public readonly CommandType CommandType => CommandType.SetStencilTest;
|
||||
private StencilTestDescriptor _stencilTest;
|
||||
|
||||
public void Set(StencilTestDescriptor stencilTest)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetStorageBuffersCommand : IGALCommand, IGALCommand<SetStorageBuffersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetStorageBuffers;
|
||||
public readonly CommandType CommandType => CommandType.SetStorageBuffers;
|
||||
private SpanRef<BufferAssignment> _buffers;
|
||||
|
||||
public void Set(SpanRef<BufferAssignment> buffers)
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetTextureAndSamplerCommand : IGALCommand, IGALCommand<SetTextureAndSamplerCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetTextureAndSampler;
|
||||
public readonly CommandType CommandType => CommandType.SetTextureAndSampler;
|
||||
private ShaderStage _stage;
|
||||
private int _binding;
|
||||
private TableRef<ITexture> _texture;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetTransformFeedbackBuffersCommand : IGALCommand, IGALCommand<SetTransformFeedbackBuffersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetTransformFeedbackBuffers;
|
||||
public readonly CommandType CommandType => CommandType.SetTransformFeedbackBuffers;
|
||||
private SpanRef<BufferRange> _buffers;
|
||||
|
||||
public void Set(SpanRef<BufferRange> buffers)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetUniformBuffersCommand : IGALCommand, IGALCommand<SetUniformBuffersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetUniformBuffers;
|
||||
public readonly CommandType CommandType => CommandType.SetUniformBuffers;
|
||||
private SpanRef<BufferAssignment> _buffers;
|
||||
|
||||
public void Set(SpanRef<BufferAssignment> buffers)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct SetUserClipDistanceCommand : IGALCommand, IGALCommand<SetUserClipDistanceCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetUserClipDistance;
|
||||
public readonly CommandType CommandType => CommandType.SetUserClipDistance;
|
||||
private int _index;
|
||||
private bool _enableClip;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetVertexAttribsCommand : IGALCommand, IGALCommand<SetVertexAttribsCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetVertexAttribs;
|
||||
public readonly CommandType CommandType => CommandType.SetVertexAttribs;
|
||||
private SpanRef<VertexAttribDescriptor> _vertexAttribs;
|
||||
|
||||
public void Set(SpanRef<VertexAttribDescriptor> vertexAttribs)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetVertexBuffersCommand : IGALCommand, IGALCommand<SetVertexBuffersCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetVertexBuffers;
|
||||
public readonly CommandType CommandType => CommandType.SetVertexBuffers;
|
||||
private SpanRef<VertexBufferDescriptor> _vertexBuffers;
|
||||
|
||||
public void Set(SpanRef<VertexBufferDescriptor> vertexBuffers)
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct SetViewportsCommand : IGALCommand, IGALCommand<SetViewportsCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.SetViewports;
|
||||
public readonly CommandType CommandType => CommandType.SetViewports;
|
||||
private SpanRef<Viewport> _viewports;
|
||||
private bool _disableTransform;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureCopyToBufferCommand : IGALCommand, IGALCommand<TextureCopyToBufferCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureCopyToBuffer;
|
||||
public readonly CommandType CommandType => CommandType.TextureCopyToBuffer;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private BufferRange _range;
|
||||
private int _layer;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureCopyToCommand : IGALCommand, IGALCommand<TextureCopyToCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureCopyTo;
|
||||
public readonly CommandType CommandType => CommandType.TextureCopyTo;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ThreadedTexture> _destination;
|
||||
private int _firstLayer;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureCopyToScaledCommand : IGALCommand, IGALCommand<TextureCopyToScaledCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureCopyToScaled;
|
||||
public readonly CommandType CommandType => CommandType.TextureCopyToScaled;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ThreadedTexture> _destination;
|
||||
private Extents2D _srcRegion;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureCopyToSliceCommand : IGALCommand, IGALCommand<TextureCopyToSliceCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureCopyToSlice;
|
||||
public readonly CommandType CommandType => CommandType.TextureCopyToSlice;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ThreadedTexture> _destination;
|
||||
private int _srcLayer;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureCreateViewCommand : IGALCommand, IGALCommand<TextureCreateViewCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureCreateView;
|
||||
public readonly CommandType CommandType => CommandType.TextureCreateView;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ThreadedTexture> _destination;
|
||||
private TextureCreateInfo _info;
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
using Ryujinx.Graphics.GAL.Multithreading.Model;
|
||||
using Ryujinx.Graphics.GAL.Multithreading.Resources;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
||||
{
|
||||
struct TextureGetDataCommand : IGALCommand, IGALCommand<TextureGetDataCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureGetData;
|
||||
public readonly CommandType CommandType => CommandType.TextureGetData;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ResultBox<PinnedSpan<byte>>> _result;
|
||||
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
using Ryujinx.Graphics.GAL.Multithreading.Model;
|
||||
using Ryujinx.Graphics.GAL.Multithreading.Resources;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
||||
{
|
||||
struct TextureGetDataSliceCommand : IGALCommand, IGALCommand<TextureGetDataSliceCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureGetDataSlice;
|
||||
public readonly CommandType CommandType => CommandType.TextureGetDataSlice;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<ResultBox<PinnedSpan<byte>>> _result;
|
||||
private int _layer;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureReleaseCommand : IGALCommand, IGALCommand<TextureReleaseCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureRelease;
|
||||
public readonly CommandType CommandType => CommandType.TextureRelease;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
|
||||
public void Set(TableRef<ThreadedTexture> texture)
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureSetDataCommand : IGALCommand, IGALCommand<TextureSetDataCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureSetData;
|
||||
public readonly CommandType CommandType => CommandType.TextureSetData;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<byte[]> _data;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureSetDataSliceCommand : IGALCommand, IGALCommand<TextureSetDataSliceCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureSetDataSlice;
|
||||
public readonly CommandType CommandType => CommandType.TextureSetDataSlice;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<byte[]> _data;
|
||||
private int _layer;
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureSetDataSliceRegionCommand : IGALCommand, IGALCommand<TextureSetDataSliceRegionCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureSetDataSliceRegion;
|
||||
public readonly CommandType CommandType => CommandType.TextureSetDataSliceRegion;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private TableRef<byte[]> _data;
|
||||
private int _layer;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Texture
|
|||
{
|
||||
struct TextureSetStorageCommand : IGALCommand, IGALCommand<TextureSetStorageCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureSetStorage;
|
||||
public readonly CommandType CommandType => CommandType.TextureSetStorage;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private BufferRange _storage;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct TextureBarrierCommand : IGALCommand, IGALCommand<TextureBarrierCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureBarrier;
|
||||
public readonly CommandType CommandType => CommandType.TextureBarrier;
|
||||
|
||||
public static void Run(ref TextureBarrierCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
struct TextureBarrierTiledCommand : IGALCommand, IGALCommand<TextureBarrierTiledCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TextureBarrierTiled;
|
||||
public readonly CommandType CommandType => CommandType.TextureBarrierTiled;
|
||||
|
||||
public static void Run(ref TextureBarrierTiledCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct TryHostConditionalRenderingCommand : IGALCommand, IGALCommand<TryHostConditionalRenderingCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TryHostConditionalRendering;
|
||||
public readonly CommandType CommandType => CommandType.TryHostConditionalRendering;
|
||||
private TableRef<ThreadedCounterEvent> _value;
|
||||
private ulong _compare;
|
||||
private bool _isEqual;
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct TryHostConditionalRenderingFlushCommand : IGALCommand, IGALCommand<TryHostConditionalRenderingFlushCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.TryHostConditionalRenderingFlush;
|
||||
public readonly CommandType CommandType => CommandType.TryHostConditionalRenderingFlush;
|
||||
private TableRef<ThreadedCounterEvent> _value;
|
||||
private TableRef<ThreadedCounterEvent> _compare;
|
||||
private bool _isEqual;
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|||
{
|
||||
struct UpdateRenderScaleCommand : IGALCommand, IGALCommand<UpdateRenderScaleCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.UpdateRenderScale;
|
||||
public readonly CommandType CommandType => CommandType.UpdateRenderScale;
|
||||
private SpanRef<float> _scales;
|
||||
private int _totalCount;
|
||||
private int _fragmentCount;
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Window
|
|||
{
|
||||
struct WindowPresentCommand : IGALCommand, IGALCommand<WindowPresentCommand>
|
||||
{
|
||||
public CommandType CommandType => CommandType.WindowPresent;
|
||||
public readonly CommandType CommandType => CommandType.WindowPresent;
|
||||
private TableRef<ThreadedTexture> _texture;
|
||||
private ImageCrop _crop;
|
||||
private TableRef<Action> _swapBuffersCallback;
|
||||
|
|
|
@ -12,9 +12,9 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Model
|
|||
/// </summary>
|
||||
class CircularSpanPool
|
||||
{
|
||||
private ThreadedRenderer _renderer;
|
||||
private byte[] _pool;
|
||||
private int _size;
|
||||
private readonly ThreadedRenderer _renderer;
|
||||
private readonly byte[] _pool;
|
||||
private readonly int _size;
|
||||
|
||||
private int _producerPtr;
|
||||
private int _producerSkipPosition = -1;
|
||||
|
@ -83,7 +83,7 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Model
|
|||
{
|
||||
int size = length * Unsafe.SizeOf<T>();
|
||||
|
||||
_consumerPtr = _consumerPtr + size;
|
||||
_consumerPtr += size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
namespace Ryujinx.Graphics.GAL.Multithreading.Model
|
||||
{
|
||||
struct SpanRef<T> where T : unmanaged
|
||||
readonly struct SpanRef<T> where T : unmanaged
|
||||
{
|
||||
private int _packedLengthId;
|
||||
private readonly int _packedLengthId;
|
||||
|
||||
public SpanRef(ThreadedRenderer renderer, T[] data)
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
namespace Ryujinx.Graphics.GAL.Multithreading.Model
|
||||
{
|
||||
struct TableRef<T>
|
||||
readonly struct TableRef<T>
|
||||
{
|
||||
private int _index;
|
||||
private readonly int _index;
|
||||
|
||||
public TableRef(ThreadedRenderer renderer, T reference)
|
||||
{
|
||||
|
|
|
@ -12,10 +12,10 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Resources
|
|||
{
|
||||
private const int MaxConcurrentCompilations = 8;
|
||||
|
||||
private IRenderer _renderer;
|
||||
private readonly IRenderer _renderer;
|
||||
|
||||
private Queue<IProgramRequest> _toCompile;
|
||||
private List<ThreadedProgram> _inProgress;
|
||||
private readonly Queue<IProgramRequest> _toCompile;
|
||||
private readonly List<ThreadedProgram> _inProgress;
|
||||
|
||||
public ProgramQueue(IRenderer renderer)
|
||||
{
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{
|
||||
public ThreadedProgram Threaded { get; set; }
|
||||
|
||||
private byte[] _data;
|
||||
private bool _hasFragmentShader;
|
||||
private readonly byte[] _data;
|
||||
private readonly bool _hasFragmentShader;
|
||||
private ShaderInfo _info;
|
||||
|
||||
public BinaryProgramRequest(ThreadedProgram program, byte[] data, bool hasFragmentShader, ShaderInfo info)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
public ThreadedProgram Threaded { get; set; }
|
||||
|
||||
private ShaderSource[] _shaders;
|
||||
private readonly ShaderSource[] _shaders;
|
||||
private ShaderInfo _info;
|
||||
|
||||
public SourceProgramRequest(ThreadedProgram program, ShaderSource[] shaders, ShaderInfo info)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue