aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics/Gal/Shader
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-04-29 17:58:38 -0300
committergdkchan <gab.dark.100@gmail.com>2018-04-29 17:58:38 -0300
commitf73a182b20970f993abc1f1329dfab1e5d3b3354 (patch)
treead46e02d29560b013713291f236b953a601e2d5f /Ryujinx.Graphics/Gal/Shader
parent17f4ccf2d552b9646097282818d82525a3d902cf (diff)
Properly support multiple vertex buffers, stub 2 ioctls, fix a shader issue, change the way how the vertex buffer size is calculated for the buffers with limit = 0
Diffstat (limited to 'Ryujinx.Graphics/Gal/Shader')
-rw-r--r--Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs
index c22f5926..1e0824d2 100644
--- a/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs
+++ b/Ryujinx.Graphics/Gal/Shader/GlslDecompiler.cs
@@ -261,13 +261,16 @@ namespace Ryujinx.Graphics.Gal.Shader
PrintBlockScope(SubScopeName, IdentationLevel + 1, Cond.Child);
}
- else if (Node is ShaderIrAsg Asg && IsValidOutOper(Asg.Dst))
+ else if (Node is ShaderIrAsg Asg)
{
- string Expr = GetSrcExpr(Asg.Src, true);
+ if (IsValidOutOper(Asg.Dst))
+ {
+ string Expr = GetSrcExpr(Asg.Src, true);
- Expr = GetExprWithCast(Asg.Dst, Asg.Src, Expr);
+ Expr = GetExprWithCast(Asg.Dst, Asg.Src, Expr);
- SB.AppendLine(Identation + GetDstOperName(Asg.Dst) + " = " + Expr + ";");
+ SB.AppendLine(Identation + GetDstOperName(Asg.Dst) + " = " + Expr + ";");
+ }
}
else if (Node is ShaderIrOp Op)
{