Minor shader fixes

This commit is contained in:
gdkchan 2018-06-12 09:26:49 -03:00
parent 133082cb6d
commit 9176180abb
3 changed files with 5 additions and 3 deletions

View file

@ -159,7 +159,8 @@ namespace Ryujinx.Graphics.Gal.Shader
case ShaderIrOperAbuf Abuf: case ShaderIrOperAbuf Abuf:
{ {
//This is a built-in input variable. //This is a built-in input variable.
if (Abuf.Offs == VertexIdAttr) if (Abuf.Offs == VertexIdAttr ||
Abuf.Offs == InstanceIdAttr)
{ {
break; break;
} }

View file

@ -975,7 +975,8 @@ namespace Ryujinx.Graphics.Gal.Shader
switch (Node) switch (Node)
{ {
case ShaderIrOperAbuf Abuf: case ShaderIrOperAbuf Abuf:
return Abuf.Offs == GlslDecl.VertexIdAttr return Abuf.Offs == GlslDecl.VertexIdAttr ||
Abuf.Offs == GlslDecl.InstanceIdAttr
? OperType.I32 ? OperType.I32
: OperType.F32; : OperType.F32;

View file

@ -14,7 +14,7 @@ namespace Ryujinx.Graphics.Gal.Shader
for (int Index = 0; Index <= Size; Index++) for (int Index = 0; Index <= Size; Index++)
{ {
Opers[Index] = new ShaderIrOperAbuf(Abuf, Reg); Opers[Index] = new ShaderIrOperAbuf(Abuf + Index * 4, Reg);
} }
return Opers; return Opers;