aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs')
-rw-r--r--Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs49
1 files changed, 2 insertions, 47 deletions
diff --git a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs
index 489a5910..c5104146 100644
--- a/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs
+++ b/Ryujinx.Graphics.Shader/StructuredIr/StructuredProgramInfo.cs
@@ -22,60 +22,15 @@ namespace Ryujinx.Graphics.Shader.StructuredIr
{
public List<StructuredFunction> Functions { get; }
- public HashSet<int> Inputs { get; }
- public HashSet<int> Outputs { get; }
- public HashSet<int> InputsPerPatch { get; }
- public HashSet<int> OutputsPerPatch { get; }
+ public HashSet<IoDefinition> IoDefinitions { get; }
public HelperFunctionsMask HelperFunctionsMask { get; set; }
- public TransformFeedbackOutput[] TransformFeedbackOutputs { get; }
-
public StructuredProgramInfo()
{
Functions = new List<StructuredFunction>();
- Inputs = new HashSet<int>();
- Outputs = new HashSet<int>();
- InputsPerPatch = new HashSet<int>();
- OutputsPerPatch = new HashSet<int>();
-
- TransformFeedbackOutputs = new TransformFeedbackOutput[0xc0];
- }
-
- public TransformFeedbackOutput GetTransformFeedbackOutput(int attr)
- {
- int index = attr / 4;
- return TransformFeedbackOutputs[index];
- }
-
- public int GetTransformFeedbackOutputComponents(int attr)
- {
- int index = attr / 4;
- int baseIndex = index & ~3;
-
- int count = 1;
-
- for (; count < 4; count++)
- {
- ref var prev = ref TransformFeedbackOutputs[baseIndex + count - 1];
- ref var curr = ref TransformFeedbackOutputs[baseIndex + count];
-
- int prevOffset = prev.Offset;
- int currOffset = curr.Offset;
-
- if (!prev.Valid || !curr.Valid || prevOffset + 4 != currOffset)
- {
- break;
- }
- }
-
- if (baseIndex + count <= index)
- {
- return 1;
- }
-
- return count;
+ IoDefinitions = new HashSet<IoDefinition>();
}
}
} \ No newline at end of file