From 3b46bb73f781a011705ecbc8a1d3207dfb145829 Mon Sep 17 00:00:00 2001
From: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
Date: Sun, 2 Jul 2023 02:47:54 +0200
Subject: [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367)

* 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 IDE0060 warnings

* Silence dotnet format IDE0052 warnings

* Address dotnet format CA1816 warnings

* Address or silence dotnet format CA1069 warnings

* Address or silence dotnet format CA2211 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

* Format if-blocks correctly

* Run dotnet format whitespace after rebase

* Run dotnet format style after rebase

* Another rebase, another dotnet format run

* Run dotnet format style after rebase

* Run dotnet format after rebase and remove unused usings

- analyzers
- style
- whitespace

* Disable 'prefer switch expression' rule

* Add comments to disabled warnings

* Remove a few unused parameters

* Replace MmeShadowScratch with Array256<uint>

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Start working on disabled warnings

* Fix and silence a few dotnet-format warnings again

* Run dotnet format after rebase

* Address IDE0251 warnings

* Silence IDE0060 in .editorconfig

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* First pass of dotnet format

* Add unsafe dotnet format changes

* Fix typos

* Add trailing commas

* Disable formatting for FormatTable

* Address review feedback
---
 .../Engine/Compute/ComputeClassState.cs            | 204 ++++++++++-----------
 1 file changed, 102 insertions(+), 102 deletions(-)

(limited to 'src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs')

diff --git a/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs b/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs
index 73dd31b2..0b192ef6 100644
--- a/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs
+++ b/src/Ryujinx.Graphics.Gpu/Engine/Compute/ComputeClassState.cs
@@ -98,24 +98,24 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
     /// </summary>
     unsafe struct ComputeClassState
     {
-#pragma warning disable CS0649
+#pragma warning disable CS0649 // Field is never assigned to
         public uint SetObject;
-        public int SetObjectClassId => (int)(SetObject & 0xFFFF);
-        public int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F);
+        public readonly int SetObjectClassId => (int)(SetObject & 0xFFFF);
+        public readonly int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F);
         public fixed uint Reserved04[63];
         public uint NoOperation;
         public uint SetNotifyA;
-        public int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF);
+        public readonly int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF);
         public uint SetNotifyB;
         public uint Notify;
-        public NotifyType NotifyType => (NotifyType)(Notify);
+        public readonly NotifyType NotifyType => (NotifyType)(Notify);
         public uint WaitForIdle;
         public fixed uint Reserved114[7];
         public uint SetGlobalRenderEnableA;
-        public int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF);
+        public readonly int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF);
         public uint SetGlobalRenderEnableB;
         public uint SetGlobalRenderEnableC;
-        public int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7);
+        public readonly int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7);
         public uint SendGoIdle;
         public uint PmTrigger;
         public uint PmTriggerWfi;
@@ -126,34 +126,34 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint LineLengthIn;
         public uint LineCount;
         public uint OffsetOutUpper;
-        public int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF);
+        public readonly int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF);
         public uint OffsetOut;
         public uint PitchOut;
         public uint SetDstBlockSize;
-        public SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF);
-        public SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF);
-        public SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF);
+        public readonly SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF);
+        public readonly SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF);
+        public readonly SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF);
         public uint SetDstWidth;
         public uint SetDstHeight;
         public uint SetDstDepth;
         public uint SetDstLayer;
         public uint SetDstOriginBytesX;
-        public int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF);
+        public readonly int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF);
         public uint SetDstOriginSamplesY;
-        public int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF);
+        public readonly int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF);
         public uint LaunchDma;
-        public LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1);
-        public LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3);
-        public LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3);
-        public LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1);
-        public bool LaunchDmaReductionEnable => (LaunchDma & 0x2) != 0;
-        public LaunchDmaReductionOp LaunchDmaReductionOp => (LaunchDmaReductionOp)((LaunchDma >> 13) & 0x7);
-        public LaunchDmaReductionFormat LaunchDmaReductionFormat => (LaunchDmaReductionFormat)((LaunchDma >> 2) & 0x3);
-        public bool LaunchDmaSysmembarDisable => (LaunchDma & 0x40) != 0;
+        public readonly LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1);
+        public readonly LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3);
+        public readonly LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3);
+        public readonly LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1);
+        public readonly bool LaunchDmaReductionEnable => (LaunchDma & 0x2) != 0;
+        public readonly LaunchDmaReductionOp LaunchDmaReductionOp => (LaunchDmaReductionOp)((LaunchDma >> 13) & 0x7);
+        public readonly LaunchDmaReductionFormat LaunchDmaReductionFormat => (LaunchDmaReductionFormat)((LaunchDma >> 2) & 0x3);
+        public readonly bool LaunchDmaSysmembarDisable => (LaunchDma & 0x40) != 0;
         public uint LoadInlineData;
         public fixed uint Reserved1B8[9];
         public uint SetI2mSemaphoreA;
-        public int SetI2mSemaphoreAOffsetUpper => (int)(SetI2mSemaphoreA & 0xFF);
+        public readonly int SetI2mSemaphoreAOffsetUpper => (int)(SetI2mSemaphoreA & 0xFF);
         public uint SetI2mSemaphoreB;
         public uint SetI2mSemaphoreC;
         public fixed uint Reserved1E8[2];
@@ -162,20 +162,20 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetI2mSpareNoop02;
         public uint SetI2mSpareNoop03;
         public uint SetValidSpanOverflowAreaA;
-        public int SetValidSpanOverflowAreaAAddressUpper => (int)(SetValidSpanOverflowAreaA & 0xFF);
+        public readonly int SetValidSpanOverflowAreaAAddressUpper => (int)(SetValidSpanOverflowAreaA & 0xFF);
         public uint SetValidSpanOverflowAreaB;
         public uint SetValidSpanOverflowAreaC;
         public uint SetCoalesceWaitingPeriodUnit;
         public uint PerfmonTransfer;
         public uint SetShaderSharedMemoryWindow;
         public uint SetSelectMaxwellTextureHeaders;
-        public bool SetSelectMaxwellTextureHeadersV => (SetSelectMaxwellTextureHeaders & 0x1) != 0;
+        public readonly bool SetSelectMaxwellTextureHeadersV => (SetSelectMaxwellTextureHeaders & 0x1) != 0;
         public uint InvalidateShaderCaches;
-        public bool InvalidateShaderCachesInstruction => (InvalidateShaderCaches & 0x1) != 0;
-        public bool InvalidateShaderCachesData => (InvalidateShaderCaches & 0x10) != 0;
-        public bool InvalidateShaderCachesConstant => (InvalidateShaderCaches & 0x1000) != 0;
-        public bool InvalidateShaderCachesLocks => (InvalidateShaderCaches & 0x2) != 0;
-        public bool InvalidateShaderCachesFlushData => (InvalidateShaderCaches & 0x4) != 0;
+        public readonly bool InvalidateShaderCachesInstruction => (InvalidateShaderCaches & 0x1) != 0;
+        public readonly bool InvalidateShaderCachesData => (InvalidateShaderCaches & 0x10) != 0;
+        public readonly bool InvalidateShaderCachesConstant => (InvalidateShaderCaches & 0x1000) != 0;
+        public readonly bool InvalidateShaderCachesLocks => (InvalidateShaderCaches & 0x2) != 0;
+        public readonly bool InvalidateShaderCachesFlushData => (InvalidateShaderCaches & 0x4) != 0;
         public uint SetReservedSwMethod00;
         public uint SetReservedSwMethod01;
         public uint SetReservedSwMethod02;
@@ -185,13 +185,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetReservedSwMethod06;
         public uint SetReservedSwMethod07;
         public uint SetCwdControl;
-        public SetCwdControlSmSelection SetCwdControlSmSelection => (SetCwdControlSmSelection)(SetCwdControl & 0x1);
+        public readonly SetCwdControlSmSelection SetCwdControlSmSelection => (SetCwdControlSmSelection)(SetCwdControl & 0x1);
         public uint InvalidateTextureHeaderCacheNoWfi;
-        public InvalidateCacheLines InvalidateTextureHeaderCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureHeaderCacheNoWfi & 0x1);
-        public int InvalidateTextureHeaderCacheNoWfiTag => (int)((InvalidateTextureHeaderCacheNoWfi >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateTextureHeaderCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureHeaderCacheNoWfi & 0x1);
+        public readonly int InvalidateTextureHeaderCacheNoWfiTag => (int)((InvalidateTextureHeaderCacheNoWfi >> 4) & 0x3FFFFF);
         public uint SetCwdRefCounter;
-        public int SetCwdRefCounterSelect => (int)(SetCwdRefCounter & 0x3F);
-        public int SetCwdRefCounterValue => (int)((SetCwdRefCounter >> 8) & 0xFFFF);
+        public readonly int SetCwdRefCounterSelect => (int)(SetCwdRefCounter & 0x3F);
+        public readonly int SetCwdRefCounterValue => (int)((SetCwdRefCounter >> 8) & 0xFFFF);
         public uint SetReservedSwMethod08;
         public uint SetReservedSwMethod09;
         public uint SetReservedSwMethod10;
@@ -201,59 +201,59 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetReservedSwMethod14;
         public uint SetReservedSwMethod15;
         public uint SetGwcScgType;
-        public SetGwcScgTypeScgType SetGwcScgTypeScgType => (SetGwcScgTypeScgType)(SetGwcScgType & 0x1);
+        public readonly SetGwcScgTypeScgType SetGwcScgTypeScgType => (SetGwcScgTypeScgType)(SetGwcScgType & 0x1);
         public uint SetScgControl;
-        public int SetScgControlCompute1MaxSmCount => (int)(SetScgControl & 0x1FF);
+        public readonly int SetScgControlCompute1MaxSmCount => (int)(SetScgControl & 0x1FF);
         public uint InvalidateConstantBufferCacheA;
-        public int InvalidateConstantBufferCacheAAddressUpper => (int)(InvalidateConstantBufferCacheA & 0xFF);
+        public readonly int InvalidateConstantBufferCacheAAddressUpper => (int)(InvalidateConstantBufferCacheA & 0xFF);
         public uint InvalidateConstantBufferCacheB;
         public uint InvalidateConstantBufferCacheC;
-        public int InvalidateConstantBufferCacheCByteCount => (int)(InvalidateConstantBufferCacheC & 0x1FFFF);
-        public bool InvalidateConstantBufferCacheCThruL2 => (InvalidateConstantBufferCacheC & 0x80000000) != 0;
+        public readonly int InvalidateConstantBufferCacheCByteCount => (int)(InvalidateConstantBufferCacheC & 0x1FFFF);
+        public readonly bool InvalidateConstantBufferCacheCThruL2 => (InvalidateConstantBufferCacheC & 0x80000000) != 0;
         public uint SetComputeClassVersion;
-        public int SetComputeClassVersionCurrent => (int)(SetComputeClassVersion & 0xFFFF);
-        public int SetComputeClassVersionOldestSupported => (int)((SetComputeClassVersion >> 16) & 0xFFFF);
+        public readonly int SetComputeClassVersionCurrent => (int)(SetComputeClassVersion & 0xFFFF);
+        public readonly int SetComputeClassVersionOldestSupported => (int)((SetComputeClassVersion >> 16) & 0xFFFF);
         public uint CheckComputeClassVersion;
-        public int CheckComputeClassVersionCurrent => (int)(CheckComputeClassVersion & 0xFFFF);
-        public int CheckComputeClassVersionOldestSupported => (int)((CheckComputeClassVersion >> 16) & 0xFFFF);
+        public readonly int CheckComputeClassVersionCurrent => (int)(CheckComputeClassVersion & 0xFFFF);
+        public readonly int CheckComputeClassVersionOldestSupported => (int)((CheckComputeClassVersion >> 16) & 0xFFFF);
         public uint SetQmdVersion;
-        public int SetQmdVersionCurrent => (int)(SetQmdVersion & 0xFFFF);
-        public int SetQmdVersionOldestSupported => (int)((SetQmdVersion >> 16) & 0xFFFF);
+        public readonly int SetQmdVersionCurrent => (int)(SetQmdVersion & 0xFFFF);
+        public readonly int SetQmdVersionOldestSupported => (int)((SetQmdVersion >> 16) & 0xFFFF);
         public uint SetWfiConfig;
-        public bool SetWfiConfigEnableScgTypeWfi => (SetWfiConfig & 0x1) != 0;
+        public readonly bool SetWfiConfigEnableScgTypeWfi => (SetWfiConfig & 0x1) != 0;
         public uint CheckQmdVersion;
-        public int CheckQmdVersionCurrent => (int)(CheckQmdVersion & 0xFFFF);
-        public int CheckQmdVersionOldestSupported => (int)((CheckQmdVersion >> 16) & 0xFFFF);
+        public readonly int CheckQmdVersionCurrent => (int)(CheckQmdVersion & 0xFFFF);
+        public readonly int CheckQmdVersionOldestSupported => (int)((CheckQmdVersion >> 16) & 0xFFFF);
         public uint WaitForIdleScgType;
         public uint InvalidateSkedCaches;
-        public bool InvalidateSkedCachesV => (InvalidateSkedCaches & 0x1) != 0;
+        public readonly bool InvalidateSkedCachesV => (InvalidateSkedCaches & 0x1) != 0;
         public uint SetScgRenderEnableControl;
-        public bool SetScgRenderEnableControlCompute1UsesRenderEnable => (SetScgRenderEnableControl & 0x1) != 0;
+        public readonly bool SetScgRenderEnableControlCompute1UsesRenderEnable => (SetScgRenderEnableControl & 0x1) != 0;
         public fixed uint Reserved2A0[4];
         public uint SetCwdSlotCount;
-        public int SetCwdSlotCountV => (int)(SetCwdSlotCount & 0xFF);
+        public readonly int SetCwdSlotCountV => (int)(SetCwdSlotCount & 0xFF);
         public uint SendPcasA;
         public uint SendPcasB;
-        public int SendPcasBFrom => (int)(SendPcasB & 0xFFFFFF);
-        public int SendPcasBDelta => (int)((SendPcasB >> 24) & 0xFF);
+        public readonly int SendPcasBFrom => (int)(SendPcasB & 0xFFFFFF);
+        public readonly int SendPcasBDelta => (int)((SendPcasB >> 24) & 0xFF);
         public uint SendSignalingPcasB;
-        public bool SendSignalingPcasBInvalidate => (SendSignalingPcasB & 0x1) != 0;
-        public bool SendSignalingPcasBSchedule => (SendSignalingPcasB & 0x2) != 0;
+        public readonly bool SendSignalingPcasBInvalidate => (SendSignalingPcasB & 0x1) != 0;
+        public readonly bool SendSignalingPcasBSchedule => (SendSignalingPcasB & 0x2) != 0;
         public fixed uint Reserved2C0[9];
         public uint SetShaderLocalMemoryNonThrottledA;
-        public int SetShaderLocalMemoryNonThrottledASizeUpper => (int)(SetShaderLocalMemoryNonThrottledA & 0xFF);
+        public readonly int SetShaderLocalMemoryNonThrottledASizeUpper => (int)(SetShaderLocalMemoryNonThrottledA & 0xFF);
         public uint SetShaderLocalMemoryNonThrottledB;
         public uint SetShaderLocalMemoryNonThrottledC;
-        public int SetShaderLocalMemoryNonThrottledCMaxSmCount => (int)(SetShaderLocalMemoryNonThrottledC & 0x1FF);
+        public readonly int SetShaderLocalMemoryNonThrottledCMaxSmCount => (int)(SetShaderLocalMemoryNonThrottledC & 0x1FF);
         public uint SetShaderLocalMemoryThrottledA;
-        public int SetShaderLocalMemoryThrottledASizeUpper => (int)(SetShaderLocalMemoryThrottledA & 0xFF);
+        public readonly int SetShaderLocalMemoryThrottledASizeUpper => (int)(SetShaderLocalMemoryThrottledA & 0xFF);
         public uint SetShaderLocalMemoryThrottledB;
         public uint SetShaderLocalMemoryThrottledC;
-        public int SetShaderLocalMemoryThrottledCMaxSmCount => (int)(SetShaderLocalMemoryThrottledC & 0x1FF);
+        public readonly int SetShaderLocalMemoryThrottledCMaxSmCount => (int)(SetShaderLocalMemoryThrottledC & 0x1FF);
         public fixed uint Reserved2FC[5];
         public uint SetSpaVersion;
-        public int SetSpaVersionMinor => (int)(SetSpaVersion & 0xFF);
-        public int SetSpaVersionMajor => (int)((SetSpaVersion >> 8) & 0xFF);
+        public readonly int SetSpaVersionMinor => (int)(SetSpaVersion & 0xFF);
+        public readonly int SetSpaVersionMajor => (int)((SetSpaVersion >> 8) & 0xFF);
         public fixed uint Reserved314[123];
         public uint SetFalcon00;
         public uint SetFalcon01;
@@ -291,14 +291,14 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetShaderLocalMemoryWindow;
         public fixed uint Reserved780[4];
         public uint SetShaderLocalMemoryA;
-        public int SetShaderLocalMemoryAAddressUpper => (int)(SetShaderLocalMemoryA & 0xFF);
+        public readonly int SetShaderLocalMemoryAAddressUpper => (int)(SetShaderLocalMemoryA & 0xFF);
         public uint SetShaderLocalMemoryB;
         public fixed uint Reserved798[383];
         public uint SetShaderCacheControl;
-        public bool SetShaderCacheControlIcachePrefetchEnable => (SetShaderCacheControl & 0x1) != 0;
+        public readonly bool SetShaderCacheControlIcachePrefetchEnable => (SetShaderCacheControl & 0x1) != 0;
         public fixed uint ReservedD98[19];
         public uint SetSmTimeoutInterval;
-        public int SetSmTimeoutIntervalCounterBit => (int)(SetSmTimeoutInterval & 0x3F);
+        public readonly int SetSmTimeoutIntervalCounterBit => (int)(SetSmTimeoutInterval & 0x3F);
         public fixed uint ReservedDE8[87];
         public uint SetSpareNoop12;
         public uint SetSpareNoop13;
@@ -319,62 +319,62 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetSpareNoop11;
         public fixed uint Reserved1070[103];
         public uint InvalidateSamplerCacheAll;
-        public bool InvalidateSamplerCacheAllV => (InvalidateSamplerCacheAll & 0x1) != 0;
+        public readonly bool InvalidateSamplerCacheAllV => (InvalidateSamplerCacheAll & 0x1) != 0;
         public uint InvalidateTextureHeaderCacheAll;
-        public bool InvalidateTextureHeaderCacheAllV => (InvalidateTextureHeaderCacheAll & 0x1) != 0;
+        public readonly bool InvalidateTextureHeaderCacheAllV => (InvalidateTextureHeaderCacheAll & 0x1) != 0;
         public fixed uint Reserved1214[29];
         public uint InvalidateTextureDataCacheNoWfi;
-        public InvalidateCacheLines InvalidateTextureDataCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureDataCacheNoWfi & 0x1);
-        public int InvalidateTextureDataCacheNoWfiTag => (int)((InvalidateTextureDataCacheNoWfi >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateTextureDataCacheNoWfiLines => (InvalidateCacheLines)(InvalidateTextureDataCacheNoWfi & 0x1);
+        public readonly int InvalidateTextureDataCacheNoWfiTag => (int)((InvalidateTextureDataCacheNoWfi >> 4) & 0x3FFFFF);
         public fixed uint Reserved128C[7];
         public uint ActivatePerfSettingsForComputeContext;
-        public bool ActivatePerfSettingsForComputeContextAll => (ActivatePerfSettingsForComputeContext & 0x1) != 0;
+        public readonly bool ActivatePerfSettingsForComputeContextAll => (ActivatePerfSettingsForComputeContext & 0x1) != 0;
         public fixed uint Reserved12AC[33];
         public uint InvalidateSamplerCache;
-        public InvalidateCacheLines InvalidateSamplerCacheLines => (InvalidateCacheLines)(InvalidateSamplerCache & 0x1);
-        public int InvalidateSamplerCacheTag => (int)((InvalidateSamplerCache >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateSamplerCacheLines => (InvalidateCacheLines)(InvalidateSamplerCache & 0x1);
+        public readonly int InvalidateSamplerCacheTag => (int)((InvalidateSamplerCache >> 4) & 0x3FFFFF);
         public uint InvalidateTextureHeaderCache;
-        public InvalidateCacheLines InvalidateTextureHeaderCacheLines => (InvalidateCacheLines)(InvalidateTextureHeaderCache & 0x1);
-        public int InvalidateTextureHeaderCacheTag => (int)((InvalidateTextureHeaderCache >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateTextureHeaderCacheLines => (InvalidateCacheLines)(InvalidateTextureHeaderCache & 0x1);
+        public readonly int InvalidateTextureHeaderCacheTag => (int)((InvalidateTextureHeaderCache >> 4) & 0x3FFFFF);
         public uint InvalidateTextureDataCache;
-        public InvalidateCacheLines InvalidateTextureDataCacheLines => (InvalidateCacheLines)(InvalidateTextureDataCache & 0x1);
-        public int InvalidateTextureDataCacheTag => (int)((InvalidateTextureDataCache >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateTextureDataCacheLines => (InvalidateCacheLines)(InvalidateTextureDataCache & 0x1);
+        public readonly int InvalidateTextureDataCacheTag => (int)((InvalidateTextureDataCache >> 4) & 0x3FFFFF);
         public fixed uint Reserved133C[58];
         public uint InvalidateSamplerCacheNoWfi;
-        public InvalidateCacheLines InvalidateSamplerCacheNoWfiLines => (InvalidateCacheLines)(InvalidateSamplerCacheNoWfi & 0x1);
-        public int InvalidateSamplerCacheNoWfiTag => (int)((InvalidateSamplerCacheNoWfi >> 4) & 0x3FFFFF);
+        public readonly InvalidateCacheLines InvalidateSamplerCacheNoWfiLines => (InvalidateCacheLines)(InvalidateSamplerCacheNoWfi & 0x1);
+        public readonly int InvalidateSamplerCacheNoWfiTag => (int)((InvalidateSamplerCacheNoWfi >> 4) & 0x3FFFFF);
         public fixed uint Reserved1428[64];
         public uint SetShaderExceptions;
-        public bool SetShaderExceptionsEnable => (SetShaderExceptions & 0x1) != 0;
+        public readonly bool SetShaderExceptionsEnable => (SetShaderExceptions & 0x1) != 0;
         public fixed uint Reserved152C[9];
         public uint SetRenderEnableA;
-        public int SetRenderEnableAOffsetUpper => (int)(SetRenderEnableA & 0xFF);
+        public readonly int SetRenderEnableAOffsetUpper => (int)(SetRenderEnableA & 0xFF);
         public uint SetRenderEnableB;
         public uint SetRenderEnableC;
-        public int SetRenderEnableCMode => (int)(SetRenderEnableC & 0x7);
+        public readonly int SetRenderEnableCMode => (int)(SetRenderEnableC & 0x7);
         public uint SetTexSamplerPoolA;
-        public int SetTexSamplerPoolAOffsetUpper => (int)(SetTexSamplerPoolA & 0xFF);
+        public readonly int SetTexSamplerPoolAOffsetUpper => (int)(SetTexSamplerPoolA & 0xFF);
         public uint SetTexSamplerPoolB;
         public uint SetTexSamplerPoolC;
-        public int SetTexSamplerPoolCMaximumIndex => (int)(SetTexSamplerPoolC & 0xFFFFF);
+        public readonly int SetTexSamplerPoolCMaximumIndex => (int)(SetTexSamplerPoolC & 0xFFFFF);
         public fixed uint Reserved1568[3];
         public uint SetTexHeaderPoolA;
-        public int SetTexHeaderPoolAOffsetUpper => (int)(SetTexHeaderPoolA & 0xFF);
+        public readonly int SetTexHeaderPoolAOffsetUpper => (int)(SetTexHeaderPoolA & 0xFF);
         public uint SetTexHeaderPoolB;
         public uint SetTexHeaderPoolC;
-        public int SetTexHeaderPoolCMaximumIndex => (int)(SetTexHeaderPoolC & 0x3FFFFF);
+        public readonly int SetTexHeaderPoolCMaximumIndex => (int)(SetTexHeaderPoolC & 0x3FFFFF);
         public fixed uint Reserved1580[34];
         public uint SetProgramRegionA;
-        public int SetProgramRegionAAddressUpper => (int)(SetProgramRegionA & 0xFF);
+        public readonly int SetProgramRegionAAddressUpper => (int)(SetProgramRegionA & 0xFF);
         public uint SetProgramRegionB;
         public fixed uint Reserved1610[34];
         public uint InvalidateShaderCachesNoWfi;
-        public bool InvalidateShaderCachesNoWfiInstruction => (InvalidateShaderCachesNoWfi & 0x1) != 0;
-        public bool InvalidateShaderCachesNoWfiGlobalData => (InvalidateShaderCachesNoWfi & 0x10) != 0;
-        public bool InvalidateShaderCachesNoWfiConstant => (InvalidateShaderCachesNoWfi & 0x1000) != 0;
+        public readonly bool InvalidateShaderCachesNoWfiInstruction => (InvalidateShaderCachesNoWfi & 0x1) != 0;
+        public readonly bool InvalidateShaderCachesNoWfiGlobalData => (InvalidateShaderCachesNoWfi & 0x10) != 0;
+        public readonly bool InvalidateShaderCachesNoWfiConstant => (InvalidateShaderCachesNoWfi & 0x1000) != 0;
         public fixed uint Reserved169C[170];
         public uint SetRenderEnableOverride;
-        public SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)(SetRenderEnableOverride & 0x3);
+        public readonly SetRenderEnableOverrideMode SetRenderEnableOverrideMode => (SetRenderEnableOverrideMode)(SetRenderEnableOverride & 0x3);
         public fixed uint Reserved1948[57];
         public uint PipeNop;
         public uint SetSpare00;
@@ -383,20 +383,20 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public uint SetSpare03;
         public fixed uint Reserved1A40[48];
         public uint SetReportSemaphoreA;
-        public int SetReportSemaphoreAOffsetUpper => (int)(SetReportSemaphoreA & 0xFF);
+        public readonly int SetReportSemaphoreAOffsetUpper => (int)(SetReportSemaphoreA & 0xFF);
         public uint SetReportSemaphoreB;
         public uint SetReportSemaphoreC;
         public uint SetReportSemaphoreD;
-        public SetReportSemaphoreDOperation SetReportSemaphoreDOperation => (SetReportSemaphoreDOperation)(SetReportSemaphoreD & 0x3);
-        public bool SetReportSemaphoreDAwakenEnable => (SetReportSemaphoreD & 0x100000) != 0;
-        public SetReportSemaphoreDStructureSize SetReportSemaphoreDStructureSize => (SetReportSemaphoreDStructureSize)((SetReportSemaphoreD >> 28) & 0x1);
-        public bool SetReportSemaphoreDFlushDisable => (SetReportSemaphoreD & 0x4) != 0;
-        public bool SetReportSemaphoreDReductionEnable => (SetReportSemaphoreD & 0x8) != 0;
-        public SetReportSemaphoreDReductionOp SetReportSemaphoreDReductionOp => (SetReportSemaphoreDReductionOp)((SetReportSemaphoreD >> 9) & 0x7);
-        public SetReportSemaphoreDReductionFormat SetReportSemaphoreDReductionFormat => (SetReportSemaphoreDReductionFormat)((SetReportSemaphoreD >> 17) & 0x3);
+        public readonly SetReportSemaphoreDOperation SetReportSemaphoreDOperation => (SetReportSemaphoreDOperation)(SetReportSemaphoreD & 0x3);
+        public readonly bool SetReportSemaphoreDAwakenEnable => (SetReportSemaphoreD & 0x100000) != 0;
+        public readonly SetReportSemaphoreDStructureSize SetReportSemaphoreDStructureSize => (SetReportSemaphoreDStructureSize)((SetReportSemaphoreD >> 28) & 0x1);
+        public readonly bool SetReportSemaphoreDFlushDisable => (SetReportSemaphoreD & 0x4) != 0;
+        public readonly bool SetReportSemaphoreDReductionEnable => (SetReportSemaphoreD & 0x8) != 0;
+        public readonly SetReportSemaphoreDReductionOp SetReportSemaphoreDReductionOp => (SetReportSemaphoreDReductionOp)((SetReportSemaphoreD >> 9) & 0x7);
+        public readonly SetReportSemaphoreDReductionFormat SetReportSemaphoreDReductionFormat => (SetReportSemaphoreDReductionFormat)((SetReportSemaphoreD >> 17) & 0x3);
         public fixed uint Reserved1B10[702];
         public uint SetBindlessTexture;
-        public int SetBindlessTextureConstantBufferSlotSelect => (int)(SetBindlessTexture & 0x7);
+        public readonly int SetBindlessTextureConstantBufferSlotSelect => (int)(SetBindlessTexture & 0x7);
         public uint SetTrapHandler;
         public fixed uint Reserved2610[843];
         public Array8<uint> SetShaderPerformanceCounterValueUpper;
@@ -423,13 +423,13 @@ namespace Ryujinx.Graphics.Gpu.Engine.Compute
         public bool SetShaderPerformanceCounterControlBWindowed(int i) => (SetShaderPerformanceCounterControlB[i] & 0x8) != 0;
         public int SetShaderPerformanceCounterControlBFunc(int i) => (int)((SetShaderPerformanceCounterControlB[i] >> 4) & 0xFFFF);
         public uint SetShaderPerformanceCounterTrapControl;
-        public int SetShaderPerformanceCounterTrapControlMask => (int)(SetShaderPerformanceCounterTrapControl & 0xFF);
+        public readonly int SetShaderPerformanceCounterTrapControlMask => (int)(SetShaderPerformanceCounterTrapControl & 0xFF);
         public uint StartShaderPerformanceCounter;
-        public int StartShaderPerformanceCounterCounterMask => (int)(StartShaderPerformanceCounter & 0xFF);
+        public readonly int StartShaderPerformanceCounterCounterMask => (int)(StartShaderPerformanceCounter & 0xFF);
         public uint StopShaderPerformanceCounter;
-        public int StopShaderPerformanceCounterCounterMask => (int)(StopShaderPerformanceCounter & 0xFF);
+        public readonly int StopShaderPerformanceCounterCounterMask => (int)(StopShaderPerformanceCounter & 0xFF);
         public fixed uint Reserved33E8[6];
-        public MmeShadowScratch SetMmeShadowScratch;
+        public Array256<uint> SetMmeShadowScratch;
 #pragma warning restore CS0649
     }
 }
-- 
cgit v1.2.3-70-g09d2