diff options
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs')
-rw-r--r-- | Ryujinx.Graphics.OpenGL/Converters/AddressModeConverter.cs | 26 |
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}\"."); + } + } +} |