aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Converters/BlendOpConverter.cs
blob: b33a3bf897c4b5d03ff9fd46adb93060b1ba3221 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using OpenTK.Graphics.OpenGL;
using Ryujinx.Graphics.GAL.Blend;
using System;

namespace Ryujinx.Graphics.OpenGL
{
    static class BlendOpConverter
    {
        public static BlendEquationMode Convert(this BlendOp op)
        {
            switch (op)
            {
                case BlendOp.Add:             return BlendEquationMode.FuncAdd;
                case BlendOp.Subtract:        return BlendEquationMode.FuncSubtract;
                case BlendOp.ReverseSubtract: return BlendEquationMode.FuncReverseSubtract;
                case BlendOp.Minimum:         return BlendEquationMode.Min;
                case BlendOp.Maximum:         return BlendEquationMode.Max;
            }

            return BlendEquationMode.FuncAdd;

            throw new ArgumentException($"Invalid blend operation \"{op}\".");
        }
    }
}