aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Converters/CompareOpConverter.cs
blob: f592735bd4c207f1ace7f98aec1b09c1234ed54b (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
26
27
28
using OpenTK.Graphics.OpenGL;
using Ryujinx.Graphics.GAL;
using System;

namespace Ryujinx.Graphics.OpenGL
{
    static class CompareOpConverter
    {
        public static All Convert(this CompareOp op)
        {
            switch (op)
            {
                case CompareOp.Never:          return All.Never;
                case CompareOp.Less:           return All.Less;
                case CompareOp.Equal:          return All.Equal;
                case CompareOp.LessOrEqual:    return All.Lequal;
                case CompareOp.Greater:        return All.Greater;
                case CompareOp.NotEqual:       return All.Notequal;
                case CompareOp.GreaterOrEqual: return All.Gequal;
                case CompareOp.Always:         return All.Always;
            }

            return All.Never;

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