BlendFactor.cs
1 namespace Ryujinx.Graphics.GAL 2 { 3 public enum BlendFactor 4 { 5 Zero = 1, 6 One, 7 SrcColor, 8 OneMinusSrcColor, 9 SrcAlpha, 10 OneMinusSrcAlpha, 11 DstAlpha, 12 OneMinusDstAlpha, 13 DstColor, 14 OneMinusDstColor, 15 SrcAlphaSaturate, 16 Src1Color = 0x10, 17 OneMinusSrc1Color, 18 Src1Alpha, 19 OneMinusSrc1Alpha, 20 ConstantColor = 0xc001, 21 OneMinusConstantColor, 22 ConstantAlpha, 23 OneMinusConstantAlpha, 24 25 ZeroGl = 0x4000, 26 OneGl = 0x4001, 27 SrcColorGl = 0x4300, 28 OneMinusSrcColorGl = 0x4301, 29 SrcAlphaGl = 0x4302, 30 OneMinusSrcAlphaGl = 0x4303, 31 DstAlphaGl = 0x4304, 32 OneMinusDstAlphaGl = 0x4305, 33 DstColorGl = 0x4306, 34 OneMinusDstColorGl = 0x4307, 35 SrcAlphaSaturateGl = 0x4308, 36 Src1ColorGl = 0xc900, 37 OneMinusSrc1ColorGl = 0xc901, 38 Src1AlphaGl = 0xc902, 39 OneMinusSrc1AlphaGl = 0xc903, 40 } 41 42 public static class BlendFactorExtensions 43 { 44 public static bool IsDualSource(this BlendFactor factor) 45 { 46 switch (factor) 47 { 48 case BlendFactor.Src1Color: 49 case BlendFactor.Src1ColorGl: 50 case BlendFactor.Src1Alpha: 51 case BlendFactor.Src1AlphaGl: 52 case BlendFactor.OneMinusSrc1Color: 53 case BlendFactor.OneMinusSrc1ColorGl: 54 case BlendFactor.OneMinusSrc1Alpha: 55 case BlendFactor.OneMinusSrc1AlphaGl: 56 return true; 57 default: 58 return false; 59 } 60 } 61 } 62 }