aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs64
1 files changed, 29 insertions, 35 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs
index 0ba4667e..8638fb8f 100644
--- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs
+++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs
@@ -3,7 +3,6 @@ using Ryujinx.Graphics.Shader.IntermediateRepresentation;
using Ryujinx.Graphics.Shader.Translation;
using System;
using System.Runtime.CompilerServices;
-
using static Ryujinx.Graphics.Shader.IntermediateRepresentation.OperandHelper;
namespace Ryujinx.Graphics.Shader.Instructions
@@ -111,7 +110,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
return new Operand[]
{
ConstF((float)Unsafe.As<ushort, Half>(ref low)),
- ConstF((float)Unsafe.As<ushort, Half>(ref high))
+ ConstF((float)Unsafe.As<ushort, Half>(ref high)),
};
}
@@ -123,7 +122,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
return new Operand[]
{
ConstF((float)Unsafe.As<ushort, Half>(ref low)),
- ConstF((float)Unsafe.As<ushort, Half>(ref high))
+ ConstF((float)Unsafe.As<ushort, Half>(ref high)),
};
}
@@ -139,56 +138,51 @@ namespace Ryujinx.Graphics.Shader.Instructions
public static Operand[] GetHalfUnpacked(EmitterContext context, Operand src, HalfSwizzle swizzle)
{
- switch (swizzle)
+ return swizzle switch
{
- case HalfSwizzle.F16:
- return new Operand[]
- {
+ HalfSwizzle.F16 => new Operand[]
+ {
context.UnpackHalf2x16Low (src),
- context.UnpackHalf2x16High(src)
- };
-
- case HalfSwizzle.F32: return new Operand[] { src, src };
-
- case HalfSwizzle.H0H0:
- return new Operand[]
+ context.UnpackHalf2x16High(src),
+ },
+ HalfSwizzle.F32 => new Operand[] { src, src },
+ HalfSwizzle.H0H0 => new Operand[]
{
context.UnpackHalf2x16Low(src),
- context.UnpackHalf2x16Low(src)
- };
-
- case HalfSwizzle.H1H1:
- return new Operand[]
+ context.UnpackHalf2x16Low(src),
+ },
+ HalfSwizzle.H1H1 => new Operand[]
{
context.UnpackHalf2x16High(src),
- context.UnpackHalf2x16High(src)
- };
- }
-
- throw new ArgumentException($"Invalid swizzle \"{swizzle}\".");
+ context.UnpackHalf2x16High(src),
+ },
+ _ => throw new ArgumentException($"Invalid swizzle \"{swizzle}\"."),
+ };
}
public static Operand GetHalfPacked(EmitterContext context, OFmt swizzle, Operand[] results, int rd)
{
switch (swizzle)
{
- case OFmt.F16: return context.PackHalf2x16(results[0], results[1]);
+ case OFmt.F16:
+ return context.PackHalf2x16(results[0], results[1]);
- case OFmt.F32: return results[0];
+ case OFmt.F32:
+ return results[0];
case OFmt.MrgH0:
- {
- Operand h1 = GetHalfDest(context, rd, isHigh: true);
+ {
+ Operand h1 = GetHalfDest(context, rd, isHigh: true);
- return context.PackHalf2x16(results[0], h1);
- }
+ return context.PackHalf2x16(results[0], h1);
+ }
case OFmt.MrgH1:
- {
- Operand h0 = GetHalfDest(context, rd, isHigh: false);
+ {
+ Operand h0 = GetHalfDest(context, rd, isHigh: false);
- return context.PackHalf2x16(h0, results[1]);
- }
+ return context.PackHalf2x16(h0, results[1]);
+ }
}
throw new ArgumentException($"Invalid swizzle \"{swizzle}\".");
@@ -263,4 +257,4 @@ namespace Ryujinx.Graphics.Shader.Instructions
return context.BitwiseAnd(src, Const(mask));
}
}
-} \ No newline at end of file
+}