aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Shader/HashTable
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-07-02 02:47:54 +0200
committerGitHub <noreply@github.com>2023-07-02 02:47:54 +0200
commit3b46bb73f781a011705ecbc8a1d3207dfb145829 (patch)
tree1d5d2714c7001775b512bc14ce91a1ebbfc808df /src/Ryujinx.Graphics.Gpu/Shader/HashTable
parent2457cfc9118a6ebb6008945c919edfd8b46af5e7 (diff)
[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
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Shader/HashTable')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Shader/HashTable/HashState.cs6
-rw-r--r--src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionHashTable.cs20
-rw-r--r--src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionedHashTable.cs6
-rw-r--r--src/Ryujinx.Graphics.Gpu/Shader/HashTable/SmartDataAccessor.cs4
4 files changed, 18 insertions, 18 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/HashState.cs b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/HashState.cs
index 584eefdc..836b8663 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/HashState.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/HashState.cs
@@ -21,7 +21,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// <returns>Hash of the given data</returns>
public static uint CalcHash(ReadOnlySpan<byte> data)
{
- HashState state = new HashState();
+ HashState state = new();
state.Initialize();
state.Continue(data);
@@ -50,7 +50,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
{
ulong h = _hash;
- ReadOnlySpan<ulong> dataAsUlong = MemoryMarshal.Cast<byte, ulong>(data.Slice(_start));
+ ReadOnlySpan<ulong> dataAsUlong = MemoryMarshal.Cast<byte, ulong>(data[_start..]);
for (int i = 0; i < dataAsUlong.Length; i++)
{
@@ -75,7 +75,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// </remarks>
/// <param name="data">Data to be hashed</param>
/// <returns>Hash of all the data hashed with this <see cref="HashState"/></returns>
- public uint Finalize(ReadOnlySpan<byte> data)
+ public readonly uint Finalize(ReadOnlySpan<byte> data)
{
ulong h = _hash;
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionHashTable.cs b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionHashTable.cs
index d7cb3d99..c8c8dfcb 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionHashTable.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionHashTable.cs
@@ -48,7 +48,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// Partial entries have no items associated with them. They just indicates that the data might be present on
/// the table, and one must keep looking for the full entry on other tables of larger data size.
/// </remarks>
- public bool IsPartial => OwnSize != 0;
+ public readonly bool IsPartial => OwnSize != 0;
/// <summary>
/// Creates a new partial hash table entry.
@@ -82,11 +82,11 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// Gets the data for this entry, either full or partial.
/// </summary>
/// <returns>Data sub-region</returns>
- public ReadOnlySpan<byte> GetData()
+ public readonly ReadOnlySpan<byte> GetData()
{
if (OwnSize != 0)
{
- return new ReadOnlySpan<byte>(Data).Slice(0, OwnSize);
+ return new ReadOnlySpan<byte>(Data)[..OwnSize];
}
return Data;
@@ -139,7 +139,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
return existingItem;
}
- Entry entry = new Entry(dataHash, data, item);
+ Entry entry = new(dataHash, data, item);
AddToBucket(dataHash, ref entry);
@@ -160,7 +160,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
return false;
}
- Entry entry = new Entry(dataHash, data, item);
+ Entry entry = new(dataHash, data, item);
AddToBucket(dataHash, ref entry);
@@ -175,7 +175,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// <returns>True if added, false otherwise</returns>
public bool AddPartial(byte[] ownerData, int ownSize)
{
- ReadOnlySpan<byte> data = new ReadOnlySpan<byte>(ownerData).Slice(0, ownSize);
+ ReadOnlySpan<byte> data = new ReadOnlySpan<byte>(ownerData)[..ownSize];
return AddPartial(ownerData, HashState.CalcHash(data), ownSize);
}
@@ -189,14 +189,14 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// <returns>True if added, false otherwise</returns>
public bool AddPartial(byte[] ownerData, uint dataHash, int ownSize)
{
- ReadOnlySpan<byte> data = new ReadOnlySpan<byte>(ownerData).Slice(0, ownSize);
+ ReadOnlySpan<byte> data = new ReadOnlySpan<byte>(ownerData)[..ownSize];
if (TryFindItem(dataHash, data, out _))
{
return false;
}
- Entry entry = new Entry(dataHash, ownerData, ownSize);
+ Entry entry = new(dataHash, ownerData, ownSize);
AddToBucket(dataHash, ref entry);
@@ -226,7 +226,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// </summary>
/// <param name="bucket">Bucket to add the entry into</param>
/// <param name="entry">Entry to be added</param>
- private void AddToBucket(ref Bucket bucket, ref Entry entry)
+ private static void AddToBucket(ref Bucket bucket, ref Entry entry)
{
if (bucket.InlineEntry.Data == null)
{
@@ -339,7 +339,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// <summary>
/// A full entry was found, the search was concluded and the item can be retrieved.
/// </summary>
- FoundFull
+ FoundFull,
}
/// <summary>
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionedHashTable.cs b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionedHashTable.cs
index e9a4f654..341d3114 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionedHashTable.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/PartitionedHashTable.cs
@@ -149,12 +149,12 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
}
}
- HashState hashState = new HashState();
+ HashState hashState = new();
hashState.Initialize();
for (int i = 0; i < index; i++)
{
- ReadOnlySpan<byte> dataSlice = new ReadOnlySpan<byte>(data).Slice(0, _sizeTable[i].Size);
+ ReadOnlySpan<byte> dataSlice = new ReadOnlySpan<byte>(data)[.._sizeTable[i].Size];
hashState.Continue(dataSlice);
_sizeTable[i].AddPartial(data, hashState.Finalize(dataSlice));
}
@@ -208,7 +208,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// <returns>True if the item was found on the table, false otherwise</returns>
public bool TryFindItem(IDataAccessor dataAccessor, out T item, out byte[] data)
{
- SmartDataAccessor sda = new SmartDataAccessor(dataAccessor);
+ SmartDataAccessor sda = new(dataAccessor);
item = default;
data = null;
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/SmartDataAccessor.cs b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/SmartDataAccessor.cs
index 0632add6..17853e90 100644
--- a/src/Ryujinx.Graphics.Gpu/Shader/HashTable/SmartDataAccessor.cs
+++ b/src/Ryujinx.Graphics.Gpu/Shader/HashTable/SmartDataAccessor.cs
@@ -40,7 +40,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
}
else if (_data.Length > length)
{
- return _data.Slice(0, length);
+ return _data[..length];
}
return _data;
@@ -65,7 +65,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.HashTable
/// </summary>
/// <param name="data">Data to be hashed</param>
/// <returns>Hash of the data</returns>
- private uint CalcHashCached(ReadOnlySpan<byte> data)
+ private readonly uint CalcHashCached(ReadOnlySpan<byte> data)
{
HashState state = default;
bool found = false;