diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs index 3d94b893..78fc313d 100644 --- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs +++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs @@ -4,7 +4,6 @@ using Ryujinx.Graphics.Shader.Translation; using System; using System.Collections.Generic; using System.Numerics; - using static Ryujinx.Graphics.Shader.Instructions.InstEmitHelper; using static Ryujinx.Graphics.Shader.IntermediateRepresentation.OperandHelper; @@ -221,7 +220,7 @@ namespace Ryujinx.Graphics.Shader.Instructions Operand destOperand = dest != RegisterConsts.RegisterZeroIndex ? Register(dest, RegisterType.Gpr) : null; - List<Operand> sourcesList = new List<Operand>(); + List<Operand> sourcesList = new(); if (isBindless) { @@ -325,7 +324,7 @@ namespace Ryujinx.Graphics.Shader.Instructions return context.Copy(Register(srcA++, RegisterType.Gpr)); } - List<Operand> sourcesList = new List<Operand>(); + List<Operand> sourcesList = new(); if (isBindless) { @@ -445,10 +444,18 @@ namespace Ryujinx.Graphics.Shader.Instructions switch (size) { - case SuSize.U8: context.Copy(dests[0], ZeroExtendTo32(context, dests[0], 8)); break; - case SuSize.U16: context.Copy(dests[0], ZeroExtendTo32(context, dests[0], 16)); break; - case SuSize.S8: context.Copy(dests[0], SignExtendTo32(context, dests[0], 8)); break; - case SuSize.S16: context.Copy(dests[0], SignExtendTo32(context, dests[0], 16)); break; + case SuSize.U8: + context.Copy(dests[0], ZeroExtendTo32(context, dests[0], 8)); + break; + case SuSize.U16: + context.Copy(dests[0], ZeroExtendTo32(context, dests[0], 16)); + break; + case SuSize.S8: + context.Copy(dests[0], SignExtendTo32(context, dests[0], 8)); + break; + case SuSize.S16: + context.Copy(dests[0], SignExtendTo32(context, dests[0], 16)); + break; } } } @@ -493,7 +500,7 @@ namespace Ryujinx.Graphics.Shader.Instructions return context.Copy(Register(srcB++, RegisterType.Gpr)); } - List<Operand> sourcesList = new List<Operand>(); + List<Operand> sourcesList = new(); if (isBindless) { @@ -600,7 +607,7 @@ namespace Ryujinx.Graphics.Shader.Instructions return context.Copy(Register(srcB++, RegisterType.Gpr)); } - List<Operand> sourcesList = new List<Operand>(); + List<Operand> sourcesList = new(); if (isBindless) { @@ -699,7 +706,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuatomSize.S64 => 3, SuatomSize.Sd32 => 2, SuatomSize.Sd64 => 3, - _ => 2 + _ => 2, }; } @@ -715,7 +722,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuatomSize.S64 => TextureFormat.R32G32Uint, SuatomSize.Sd32 => TextureFormat.R32Uint, SuatomSize.Sd64 => TextureFormat.R32G32Uint, - _ => TextureFormat.R32Uint + _ => TextureFormat.R32Uint, }; } @@ -732,7 +739,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuatomOp.Or => TextureFlags.BitwiseOr, SuatomOp.Xor => TextureFlags.BitwiseXor, SuatomOp.Exch => TextureFlags.Swap, - _ => TextureFlags.Add + _ => TextureFlags.Add, }; } @@ -743,7 +750,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuSize.B64 => 2, SuSize.B128 => 4, SuSize.UB128 => 4, - _ => 1 + _ => 1, }; } @@ -759,7 +766,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuSize.B64 => 3, SuSize.B128 => 4, SuSize.UB128 => 4, - _ => 2 + _ => 2, }; } @@ -775,7 +782,7 @@ namespace Ryujinx.Graphics.Shader.Instructions SuSize.B64 => TextureFormat.R32G32Uint, SuSize.B128 => TextureFormat.R32G32B32A32Uint, SuSize.UB128 => TextureFormat.R32G32B32A32Uint, - _ => TextureFormat.R32Uint + _ => TextureFormat.R32Uint, }; } @@ -789,8 +796,8 @@ namespace Ryujinx.Graphics.Shader.Instructions SuDim._2d => SamplerType.Texture2D, SuDim._2dArray => SamplerType.Texture2D | SamplerType.Array, SuDim._3d => SamplerType.Texture3D, - _ => SamplerType.None + _ => SamplerType.None, }; } } -}
\ No newline at end of file +} |