aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs
new file mode 100644
index 00000000..359069bc
--- /dev/null
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureComponent.cs
@@ -0,0 +1,43 @@
+using Ryujinx.Graphics.GAL;
+
+namespace Ryujinx.Graphics.Gpu.Image
+{
+ /// <summary>
+ /// Texture swizzle color component.
+ /// </summary>
+ enum TextureComponent
+ {
+ Zero = 0,
+ Red = 2,
+ Green = 3,
+ Blue = 4,
+ Alpha = 5,
+ OneSI = 6,
+ OneF = 7
+ }
+
+ static class TextureComponentConverter
+ {
+ /// <summary>
+ /// Converts the texture swizzle color component enum to the respective Graphics Abstraction Layer enum.
+ /// </summary>
+ /// <param name="component">Texture swizzle color component</param>
+ /// <returns>Converted enum</returns>
+ public static SwizzleComponent Convert(this TextureComponent component)
+ {
+ switch (component)
+ {
+ case TextureComponent.Zero: return SwizzleComponent.Zero;
+ case TextureComponent.Red: return SwizzleComponent.Red;
+ case TextureComponent.Green: return SwizzleComponent.Green;
+ case TextureComponent.Blue: return SwizzleComponent.Blue;
+ case TextureComponent.Alpha: return SwizzleComponent.Alpha;
+ case TextureComponent.OneSI:
+ case TextureComponent.OneF:
+ return SwizzleComponent.One;
+ }
+
+ return SwizzleComponent.Zero;
+ }
+ }
+} \ No newline at end of file