TargetConverter.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. using OpenTK.Graphics.OpenGL;
  2. using Ryujinx.Graphics.GAL.Texture;
  3. using System;
  4. namespace Ryujinx.Graphics.OpenGL
  5. {
  6. static class TargetConverter
  7. {
  8. public static ImageTarget ConvertToImageTarget(this Target target)
  9. {
  10. return (ImageTarget)target.Convert();
  11. }
  12. public static TextureTarget Convert(this Target target)
  13. {
  14. switch (target)
  15. {
  16. case Target.Texture1D: return TextureTarget.Texture1D;
  17. case Target.Texture2D: return TextureTarget.Texture2D;
  18. case Target.Texture3D: return TextureTarget.Texture3D;
  19. case Target.Texture1DArray: return TextureTarget.Texture1DArray;
  20. case Target.Texture2DArray: return TextureTarget.Texture2DArray;
  21. case Target.Texture2DMultisample: return TextureTarget.Texture2DMultisample;
  22. case Target.Rectangle: return TextureTarget.TextureRectangle;
  23. case Target.Cubemap: return TextureTarget.TextureCubeMap;
  24. case Target.CubemapArray: return TextureTarget.TextureCubeMapArray;
  25. case Target.TextureBuffer: return TextureTarget.TextureBuffer;
  26. }
  27. throw new ArgumentException($"Invalid target \"{target}\".");
  28. }
  29. }
  30. }