BlendOpConverter.cs 836 B

12345678910111213141516171819202122232425
  1. using OpenTK.Graphics.OpenGL;
  2. using Ryujinx.Graphics.GAL.Blend;
  3. using System;
  4. namespace Ryujinx.Graphics.OpenGL
  5. {
  6. static class BlendOpConverter
  7. {
  8. public static BlendEquationMode Convert(this BlendOp op)
  9. {
  10. switch (op)
  11. {
  12. case BlendOp.Add: return BlendEquationMode.FuncAdd;
  13. case BlendOp.Subtract: return BlendEquationMode.FuncSubtract;
  14. case BlendOp.ReverseSubtract: return BlendEquationMode.FuncReverseSubtract;
  15. case BlendOp.Minimum: return BlendEquationMode.Min;
  16. case BlendOp.Maximum: return BlendEquationMode.Max;
  17. }
  18. return BlendEquationMode.FuncAdd;
  19. throw new ArgumentException($"Invalid blend operation \"{op}\".");
  20. }
  21. }
  22. }