aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs
index 8f99ddb3..59ad7a5d 100644
--- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs
+++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitFloatComparison.cs
@@ -2,7 +2,6 @@ using Ryujinx.Graphics.Shader.Decoders;
using Ryujinx.Graphics.Shader.IntermediateRepresentation;
using Ryujinx.Graphics.Shader.Translation;
using System;
-
using static Ryujinx.Graphics.Shader.Instructions.InstEmitAluHelper;
using static Ryujinx.Graphics.Shader.Instructions.InstEmitHelper;
using static Ryujinx.Graphics.Shader.IntermediateRepresentation.OperandHelper;
@@ -484,8 +483,8 @@ namespace Ryujinx.Graphics.Shader.Instructions
}
else
{
- Operand low = context.BitwiseAnd(res[0], Const(0xffff));
- Operand high = context.ShiftLeft (res[1], Const(16));
+ Operand low = context.BitwiseAnd(res[0], Const(0xffff));
+ Operand high = context.ShiftLeft(res[1], Const(16));
Operand packed = context.BitwiseOr(low, high);
@@ -546,20 +545,16 @@ namespace Ryujinx.Graphics.Shader.Instructions
}
else
{
- Instruction inst;
-
- switch (cond & ~FComp.Nan)
+ var inst = (cond & ~FComp.Nan) switch
{
- case FComp.Lt: inst = Instruction.CompareLess; break;
- case FComp.Eq: inst = Instruction.CompareEqual; break;
- case FComp.Le: inst = Instruction.CompareLessOrEqual; break;
- case FComp.Gt: inst = Instruction.CompareGreater; break;
- case FComp.Ne: inst = Instruction.CompareNotEqual; break;
- case FComp.Ge: inst = Instruction.CompareGreaterOrEqual; break;
-
- default: throw new ArgumentException($"Unexpected condition \"{cond}\".");
- }
-
+ FComp.Lt => Instruction.CompareLess,
+ FComp.Eq => Instruction.CompareEqual,
+ FComp.Le => Instruction.CompareLessOrEqual,
+ FComp.Gt => Instruction.CompareGreater,
+ FComp.Ne => Instruction.CompareNotEqual,
+ FComp.Ge => Instruction.CompareGreaterOrEqual,
+ _ => throw new ArgumentException($"Unexpected condition \"{cond}\"."),
+ };
res = context.Add(inst | fpType, Local(), srcA, srcB);
if ((cond & FComp.Nan) != 0)
@@ -572,4 +567,4 @@ namespace Ryujinx.Graphics.Shader.Instructions
return res;
}
}
-} \ No newline at end of file
+}