diff --git a/Ryujinx.Graphics/Gal/Shader/SpirvDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/SpirvDecompiler.cs index 1d1d4fef0..6bfd365fc 100644 --- a/Ryujinx.Graphics/Gal/Shader/SpirvDecompiler.cs +++ b/Ryujinx.Graphics/Gal/Shader/SpirvDecompiler.cs @@ -129,6 +129,7 @@ namespace Ryujinx.Graphics.Gal.Shader { ShaderIrInst.Frcp, GetFrcpExpr }, { ShaderIrInst.Frsq, GetFrsqExpr }, { ShaderIrInst.Fsin, GetFsinExpr }, + { ShaderIrInst.Fsqrt, GetFsqrtExpr }, { ShaderIrInst.Ftos, GetFtosExpr }, { ShaderIrInst.Ftou, GetFtouExpr }, { ShaderIrInst.Kil, GetKilExpr }, @@ -1615,6 +1616,11 @@ namespace Ryujinx.Graphics.Gal.Shader => Glsl450.Sin( TypeFloat, GetOperExpr(Op, Op.OperandA)); + + private Instruction GetFsqrtExpr(ShaderIrOp Op) + => Glsl450.Sqrt( + TypeFloat, + GetOperExpr(Op, Op.OperandA)); private Instruction GetKilExpr(ShaderIrOp Op) => new OpKill();