aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL/ColorF.cs
diff options
context:
space:
mode:
authormageven <62494521+mageven@users.noreply.github.com>2020-04-25 18:30:43 +0530
committerGitHub <noreply@github.com>2020-04-25 23:00:43 +1000
commita728610b4016e153fed670eddaa45909ab51f18b (patch)
treee29a3a2e35b64b255fa5829af30437a9e15bc16d /Ryujinx.Graphics.GAL/ColorF.cs
parent75ec30c962bcfa4251f29a29c659b959170018ce (diff)
Implement Constant Color blends (#1119)
* Implement Constant Color blends and init blend states * Address gdkchan's comments Also adds Set methods to GpuState * Fix descriptions of QueryModified
Diffstat (limited to 'Ryujinx.Graphics.GAL/ColorF.cs')
-rw-r--r--Ryujinx.Graphics.GAL/ColorF.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.GAL/ColorF.cs b/Ryujinx.Graphics.GAL/ColorF.cs
index 2e971a62..b3002f8c 100644
--- a/Ryujinx.Graphics.GAL/ColorF.cs
+++ b/Ryujinx.Graphics.GAL/ColorF.cs
@@ -1,6 +1,8 @@
+using System;
+
namespace Ryujinx.Graphics.GAL
{
- public struct ColorF
+ public struct ColorF : IEquatable<ColorF>
{
public float Red { get; }
public float Green { get; }
@@ -14,5 +16,17 @@ namespace Ryujinx.Graphics.GAL
Blue = blue;
Alpha = alpha;
}
+
+ public bool Equals(ColorF color) => Red == color.Red &&
+ Green == color.Green &&
+ Blue == color.Blue &&
+ Alpha == color.Alpha;
+
+ public override bool Equals(object obj) => (obj is ColorF color) && Equals(color);
+
+ public override int GetHashCode() => HashCode.Combine(Red, Green, Blue, Alpha);
+
+ public static bool operator ==(ColorF l, ColorF r) => l.Equals(r);
+ public static bool operator !=(ColorF l, ColorF r) => !l.Equals(r);
}
}