diff options
| author | Andrey Sukharev <SukharevAndrey@users.noreply.github.com> | 2022-12-05 16:47:39 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-05 14:47:39 +0100 |
| commit | 4da44e09cb2a32f69b4a6b47221117b78e4618dc (patch) | |
| tree | c3648a09202374dabff6fac472fe341bf9e1f0ee /Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs | |
| parent | ae13f0ab4da5b371bba746c1bd6598baaa44585d (diff) | |
Make structs readonly when applicable (#4002)
* Make all structs readonly when applicable. It should reduce amount of needless defensive copies
* Make structs with trivial boilerplate equality code record structs
* Remove unnecessary readonly modifiers from TextureCreateInfo
* Make BitMap structs readonly too
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs index 14f64bbf..872aaf67 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderSpecializationState.cs @@ -121,7 +121,7 @@ namespace Ryujinx.Graphics.Gpu.Shader /// <summary> /// Texture binding information, used to identify each texture accessed by the shader. /// </summary> - private struct TextureKey : IEquatable<TextureKey> + private readonly record struct TextureKey { // New fields should be added to the end of the struct to keep disk shader cache compatibility. @@ -152,21 +152,6 @@ namespace Ryujinx.Graphics.Gpu.Shader Handle = handle; CbufSlot = cbufSlot; } - - public override bool Equals(object obj) - { - return obj is TextureKey textureKey && Equals(textureKey); - } - - public bool Equals(TextureKey other) - { - return StageIndex == other.StageIndex && Handle == other.Handle && CbufSlot == other.CbufSlot; - } - - public override int GetHashCode() - { - return HashCode.Combine(StageIndex, Handle, CbufSlot); - } } private readonly Dictionary<TextureKey, Box<TextureSpecializationState>> _textureSpecialization; |
