aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2019-01-31 09:43:24 -0300
committerGitHub <noreply@github.com>2019-01-31 09:43:24 -0300
commite10ff17e2d87b818d340947367d2d1a4276a0d06 (patch)
tree3b07aa92c5d8acff81d43ddb1ded48c4c7917b72 /Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs
parentc81abdde4c48c607669580ef769776623b86dcc7 (diff)
Initial support for shader half float instructions (#507)
Diffstat (limited to 'Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs')
-rw-r--r--Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs17
1 files changed, 15 insertions, 2 deletions
diff --git a/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs b/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs
index 9dd196e6..b4a5cab4 100644
--- a/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs
+++ b/Ryujinx.Graphics/Gal/Shader/ShaderIrOperGpr.cs
@@ -6,13 +6,26 @@ namespace Ryujinx.Graphics.Gal.Shader
public bool IsConst => Index == ZRIndex;
- public bool IsValidRegister => (Index <= ZRIndex);
+ public bool IsValidRegister => (uint)Index <= ZRIndex;
- public int Index { get; set; }
+ public int Index { get; set; }
+ public int HalfPart { get; set; }
+
+ public ShaderRegisterSize RegisterSize { get; private set; }
public ShaderIrOperGpr(int Index)
{
this.Index = Index;
+
+ RegisterSize = ShaderRegisterSize.Single;
+ }
+
+ public ShaderIrOperGpr(int Index, int HalfPart)
+ {
+ this.Index = Index;
+ this.HalfPart = HalfPart;
+
+ RegisterSize = ShaderRegisterSize.Half;
}
public static ShaderIrOperGpr MakeTemporary(int Index = 0)