aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs b/Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs
new file mode 100644
index 00000000..8f9b5074
--- /dev/null
+++ b/Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs
@@ -0,0 +1,26 @@
+using OpenTK.Graphics.OpenGL;
+using Ryujinx.Graphics.GAL.Sampler;
+using System;
+
+namespace Ryujinx.Graphics.OpenGL
+{
+ static class AddressModeConverter
+ {
+ public static TextureWrapMode Convert(this AddressMode mode)
+ {
+ switch (mode)
+ {
+ case AddressMode.Clamp : return TextureWrapMode.Clamp;
+ case AddressMode.Repeat : return TextureWrapMode.Repeat;
+ case AddressMode.MirrorClamp : return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampExt;
+ case AddressMode.MirrorClampToEdge : return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampToEdgeExt;
+ case AddressMode.MirrorClampToBorder : return (TextureWrapMode)ExtTextureMirrorClamp.MirrorClampToBorderExt;
+ case AddressMode.ClampToBorder : return TextureWrapMode.ClampToBorder;
+ case AddressMode.MirroredRepeat : return TextureWrapMode.MirroredRepeat;
+ case AddressMode.ClampToEdge : return TextureWrapMode.ClampToEdge;
+ }
+
+ throw new ArgumentException($"Invalid address mode \"{mode}\".");
+ }
+ }
+}