TextureTarget.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using Ryujinx.Graphics.GAL.Texture;
  2. namespace Ryujinx.Graphics.Gpu.Image
  3. {
  4. enum TextureTarget
  5. {
  6. Texture1D,
  7. Texture2D,
  8. Texture3D,
  9. Cubemap,
  10. Texture1DArray,
  11. Texture2DArray,
  12. TextureBuffer,
  13. Texture2DLinear,
  14. CubemapArray
  15. }
  16. static class TextureTargetConverter
  17. {
  18. public static Target Convert(this TextureTarget target, bool isMultisample)
  19. {
  20. if (isMultisample)
  21. {
  22. switch (target)
  23. {
  24. case TextureTarget.Texture2D: return Target.Texture2DMultisample;
  25. case TextureTarget.Texture2DArray: return Target.Texture2DMultisampleArray;
  26. }
  27. }
  28. else
  29. {
  30. switch (target)
  31. {
  32. case TextureTarget.Texture1D: return Target.Texture1D;
  33. case TextureTarget.Texture2D: return Target.Texture2D;
  34. case TextureTarget.Texture2DLinear: return Target.Texture2D;
  35. case TextureTarget.Texture3D: return Target.Texture3D;
  36. case TextureTarget.Texture1DArray: return Target.Texture1DArray;
  37. case TextureTarget.Texture2DArray: return Target.Texture2DArray;
  38. case TextureTarget.Cubemap: return Target.Cubemap;
  39. case TextureTarget.CubemapArray: return Target.CubemapArray;
  40. case TextureTarget.TextureBuffer: return Target.TextureBuffer;
  41. }
  42. }
  43. return Target.Texture1D;
  44. }
  45. }
  46. }