diff options
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Converters/PrimitiveTopologyConverter.cs')
| -rw-r--r-- | Ryujinx.Graphics.OpenGL/Converters/PrimitiveTopologyConverter.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Converters/PrimitiveTopologyConverter.cs b/Ryujinx.Graphics.OpenGL/Converters/PrimitiveTopologyConverter.cs new file mode 100644 index 00000000..fe1dfe39 --- /dev/null +++ b/Ryujinx.Graphics.OpenGL/Converters/PrimitiveTopologyConverter.cs @@ -0,0 +1,33 @@ +using OpenTK.Graphics.OpenGL; +using Ryujinx.Graphics.GAL; +using System; + +namespace Ryujinx.Graphics.OpenGL +{ + static class PrimitiveTopologyConverter + { + public static PrimitiveType Convert(this PrimitiveTopology topology) + { + switch (topology) + { + case PrimitiveTopology.Points: return PrimitiveType.Points; + case PrimitiveTopology.Lines: return PrimitiveType.Lines; + case PrimitiveTopology.LineLoop: return PrimitiveType.LineLoop; + case PrimitiveTopology.LineStrip: return PrimitiveType.LineStrip; + case PrimitiveTopology.Triangles: return PrimitiveType.Triangles; + case PrimitiveTopology.TriangleStrip: return PrimitiveType.TriangleStrip; + case PrimitiveTopology.TriangleFan: return PrimitiveType.TriangleFan; + case PrimitiveTopology.Quads: return PrimitiveType.Quads; + case PrimitiveTopology.QuadStrip: return PrimitiveType.QuadStrip; + case PrimitiveTopology.Polygon: return PrimitiveType.Polygon; + case PrimitiveTopology.LinesAdjacency: return PrimitiveType.LinesAdjacency; + case PrimitiveTopology.LineStripAdjacency: return PrimitiveType.LineStripAdjacency; + case PrimitiveTopology.TrianglesAdjacency: return PrimitiveType.TrianglesAdjacency; + case PrimitiveTopology.TriangleStripAdjacency: return PrimitiveType.TriangleStripAdjacency; + case PrimitiveTopology.Patches: return PrimitiveType.Patches; + } + + throw new ArgumentException($"Invalid primitive topology \"{topology}\"."); + } + } +} |
