diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs b/src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs index 9d12a73c..a4e6444b 100644 --- a/src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs +++ b/src/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgram.cs @@ -10,7 +10,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { public static StructuredProgramInfo MakeStructuredProgram(IReadOnlyList<Function> functions, ShaderConfig config) { - StructuredProgramContext context = new StructuredProgramContext(config); + StructuredProgramContext context = new(config); for (int funcIndex = 0; funcIndex < functions.Count; funcIndex++) { @@ -20,7 +20,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr AggregateType returnType = function.ReturnsValue ? AggregateType.S32 : AggregateType.Void; - AggregateType[] inArguments = new AggregateType[function.InArgumentsCount]; + AggregateType[] inArguments = new AggregateType[function.InArgumentsCount]; AggregateType[] outArguments = new AggregateType[function.OutArgumentsCount]; for (int i = 0; i < inArguments.Length; i++) @@ -79,7 +79,6 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { IoVariable ioVariable = (IoVariable)operation.GetSource(0).Value; bool isOutput = storageKind.IsOutput(); - bool perPatch = storageKind.IsPerPatch(); int location = 0; int component = 0; @@ -169,9 +168,15 @@ namespace Ryujinx.Graphics.Shader.StructuredIr switch (componentsCount) { - case 2: destType |= AggregateType.Vector2; break; - case 3: destType |= AggregateType.Vector3; break; - case 4: destType |= AggregateType.Vector4; break; + case 2: + destType |= AggregateType.Vector2; + break; + case 3: + destType |= AggregateType.Vector3; + break; + case 4: + destType |= AggregateType.Vector4; + break; } AstOperand destVec = context.NewTemp(destType); @@ -181,7 +186,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr for (int i = 0; i < operation.DestsCount; i++) { AstOperand dest = context.GetOperand(operation.GetDest(i)); - AstOperand index = new AstOperand(OperandType.Constant, i); + AstOperand index = new(OperandType.Constant, i); dest.VarType = destElemType; @@ -202,7 +207,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr } bool isCondSel = inst == Instruction.ConditionalSelect; - bool isCopy = inst == Instruction.Copy; + bool isCopy = inst == Instruction.Copy; if (isCondSel || isCopy) { @@ -304,9 +309,9 @@ namespace Ryujinx.Graphics.Shader.StructuredIr private static AggregateType GetVarTypeFromUses(Operand dest) { - HashSet<Operand> visited = new HashSet<Operand>(); + HashSet<Operand> visited = new(); - Queue<Operand> pending = new Queue<Operand>(); + Queue<Operand> pending = new(); bool Enqueue(Operand operand) { @@ -385,7 +390,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr { Instruction.ImageLoad or Instruction.TextureSample => true, - _ => false + _ => false, }; } @@ -396,7 +401,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Instruction.Branch or Instruction.BranchIfFalse or Instruction.BranchIfTrue => true, - _ => false + _ => false, }; } @@ -408,7 +413,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Instruction.BitwiseExclusiveOr or Instruction.BitwiseNot or Instruction.BitwiseOr => true, - _ => false + _ => false, }; } @@ -420,8 +425,8 @@ namespace Ryujinx.Graphics.Shader.StructuredIr Instruction.BitwiseExclusiveOr => Instruction.LogicalExclusiveOr, Instruction.BitwiseNot => Instruction.LogicalNot, Instruction.BitwiseOr => Instruction.LogicalOr, - _ => throw new ArgumentException($"Unexpected instruction \"{inst}\".") + _ => throw new ArgumentException($"Unexpected instruction \"{inst}\"."), }; } } -}
\ No newline at end of file +} |