Better IPA shader instruction implementation (#1082)

* Fix varying interpolation on fragment shader

* Some nits

* Alignment
This commit is contained in:
gdkchan 2020-04-02 21:20:47 -03:00 committed by GitHub
parent 2365ddfc36
commit e93ca84b14
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 97 additions and 89 deletions

View file

@ -12,8 +12,6 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
public VariableType VarType { get; set; }
public InterpolationQualifier Interpolation { get; }
public int Value { get; }
public int CbufSlot { get; }
@ -29,8 +27,7 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
public AstOperand(Operand operand) : this()
{
Type = operand.Type;
Interpolation = operand.Interpolation;
Type = operand.Type;
if (Type == OperandType.ConstantBuffer)
{

View file

@ -273,8 +273,6 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
if (TryGetUserAttributeIndex(operand, out int attrIndex))
{
Info.IAttributes.Add(attrIndex);
Info.InterpolationQualifiers[attrIndex] = operand.Interpolation;
}
else if (operand.Type == OperandType.Attribute && operand.Value == AttributeConsts.InstanceId)
{

View file

@ -14,8 +14,6 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
public HashSet<int> IAttributes { get; }
public HashSet<int> OAttributes { get; }
public InterpolationQualifier[] InterpolationQualifiers { get; }
public bool UsesInstanceId { get; set; }
public HelperFunctionsMask HelperFunctionsMask { get; set; }
@ -35,8 +33,6 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
IAttributes = new HashSet<int>();
OAttributes = new HashSet<int>();
InterpolationQualifiers = new InterpolationQualifier[32];
Samplers = new HashSet<AstTextureOperation>();
Images = new HashSet<AstTextureOperation>();
}