aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Shader/InputTopology.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Shader/InputTopology.cs')
-rw-r--r--Ryujinx.Graphics.Shader/InputTopology.cs28
1 files changed, 20 insertions, 8 deletions
diff --git a/Ryujinx.Graphics.Shader/InputTopology.cs b/Ryujinx.Graphics.Shader/InputTopology.cs
index 429aa211..da332909 100644
--- a/Ryujinx.Graphics.Shader/InputTopology.cs
+++ b/Ryujinx.Graphics.Shader/InputTopology.cs
@@ -13,16 +13,28 @@ namespace Ryujinx.Graphics.Shader
{
public static string ToGlslString(this InputTopology topology)
{
- switch (topology)
+ return topology switch
{
- case InputTopology.Points: return "points";
- case InputTopology.Lines: return "lines";
- case InputTopology.LinesAdjacency: return "lines_adjacency";
- case InputTopology.Triangles: return "triangles";
- case InputTopology.TrianglesAdjacency: return "triangles_adjacency";
- }
+ InputTopology.Points => "points",
+ InputTopology.Lines => "lines",
+ InputTopology.LinesAdjacency => "lines_adjacency",
+ InputTopology.Triangles => "triangles",
+ InputTopology.TrianglesAdjacency => "triangles_adjacency",
+ _ => "points"
+ };
+ }
- return "points";
+ public static int ToInputVertices(this InputTopology topology)
+ {
+ return topology switch
+ {
+ InputTopology.Points => 1,
+ InputTopology.Lines or
+ InputTopology.LinesAdjacency => 2,
+ InputTopology.Triangles or
+ InputTopology.TrianglesAdjacency => 3,
+ _ => 1
+ };
}
}
} \ No newline at end of file