TextureMsaaMode.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. namespace Ryujinx.Graphics.Gpu.Image
  2. {
  3. enum TextureMsaaMode
  4. {
  5. Ms1x1 = 0,
  6. Ms2x2 = 2,
  7. Ms4x2 = 4,
  8. Ms2x1 = 5,
  9. Ms4x4 = 6
  10. }
  11. static class TextureMsaaModeConverter
  12. {
  13. public static int SamplesCount(this TextureMsaaMode msaaMode)
  14. {
  15. switch (msaaMode)
  16. {
  17. case TextureMsaaMode.Ms2x1: return 2;
  18. case TextureMsaaMode.Ms2x2: return 4;
  19. case TextureMsaaMode.Ms4x2: return 8;
  20. case TextureMsaaMode.Ms4x4: return 16;
  21. }
  22. return 1;
  23. }
  24. public static int SamplesInX(this TextureMsaaMode msaaMode)
  25. {
  26. switch (msaaMode)
  27. {
  28. case TextureMsaaMode.Ms2x1: return 2;
  29. case TextureMsaaMode.Ms2x2: return 2;
  30. case TextureMsaaMode.Ms4x2: return 4;
  31. case TextureMsaaMode.Ms4x4: return 4;
  32. }
  33. return 1;
  34. }
  35. public static int SamplesInY(this TextureMsaaMode msaaMode)
  36. {
  37. switch (msaaMode)
  38. {
  39. case TextureMsaaMode.Ms2x1: return 1;
  40. case TextureMsaaMode.Ms2x2: return 2;
  41. case TextureMsaaMode.Ms4x2: return 2;
  42. case TextureMsaaMode.Ms4x4: return 4;
  43. }
  44. return 1;
  45. }
  46. }
  47. }