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:
{
//This is a built-in input variable.
if (Abuf.Offs == VertexIdAttr)
if (Abuf.Offs == VertexIdAttr ||
Abuf.Offs == InstanceIdAttr)
{
break;
}

View file

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

View file

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