diff options
Diffstat (limited to 'src/Ryujinx.HLE/UI/RenderingSurfaceInfo.cs')
-rw-r--r-- | src/Ryujinx.HLE/UI/RenderingSurfaceInfo.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/UI/RenderingSurfaceInfo.cs b/src/Ryujinx.HLE/UI/RenderingSurfaceInfo.cs new file mode 100644 index 00000000..af0a0d44 --- /dev/null +++ b/src/Ryujinx.HLE/UI/RenderingSurfaceInfo.cs @@ -0,0 +1,45 @@ +using Ryujinx.HLE.HOS.Services.SurfaceFlinger; +using System; + +namespace Ryujinx.HLE.UI +{ + /// <summary> + /// Information about the indirect layer that is being drawn to. + /// </summary> + class RenderingSurfaceInfo : IEquatable<RenderingSurfaceInfo> + { + public ColorFormat ColorFormat { get; } + public uint Width { get; } + public uint Height { get; } + public uint Pitch { get; } + public uint Size { get; } + + public RenderingSurfaceInfo(ColorFormat colorFormat, uint width, uint height, uint pitch, uint size) + { + ColorFormat = colorFormat; + Width = width; + Height = height; + Pitch = pitch; + Size = size; + } + + public bool Equals(RenderingSurfaceInfo other) + { + return ColorFormat == other.ColorFormat && + Width == other.Width && + Height == other.Height && + Pitch == other.Pitch && + Size == other.Size; + } + + public override bool Equals(object obj) + { + return obj is RenderingSurfaceInfo info && Equals(info); + } + + public override int GetHashCode() + { + return BitConverter.ToInt32(BitConverter.GetBytes(((ulong)ColorFormat) ^ Width ^ Height ^ Pitch ^ Size)); + } + } +} |