2019-12-29 10:41:50 -07:00
|
|
|
using Ryujinx.Graphics.GAL;
|
2019-10-13 00:02:07 -06:00
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Gpu.Image
|
|
|
|
{
|
2019-12-29 16:26:37 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Texture swizzle color component.
|
|
|
|
/// </summary>
|
2019-10-13 00:02:07 -06:00
|
|
|
enum TextureComponent
|
|
|
|
{
|
|
|
|
Zero = 0,
|
|
|
|
Red = 2,
|
|
|
|
Green = 3,
|
|
|
|
Blue = 4,
|
|
|
|
Alpha = 5,
|
|
|
|
OneSI = 6,
|
|
|
|
OneF = 7
|
|
|
|
}
|
|
|
|
|
|
|
|
static class TextureComponentConverter
|
|
|
|
{
|
2019-12-29 16:26:37 -07:00
|
|
|
/// <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>
|
2019-10-13 00:02:07 -06:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|