ViewportTransform.cs 873 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Ryujinx.Graphics.GAL;
  2. namespace Ryujinx.Graphics.Gpu.State
  3. {
  4. struct ViewportTransform
  5. {
  6. public float ScaleX;
  7. public float ScaleY;
  8. public float ScaleZ;
  9. public float TranslateX;
  10. public float TranslateY;
  11. public float TranslateZ;
  12. public uint Swizzle;
  13. public uint SubpixelPrecisionBias;
  14. public ViewportSwizzle UnpackSwizzleX()
  15. {
  16. return (ViewportSwizzle)(Swizzle & 7);
  17. }
  18. public ViewportSwizzle UnpackSwizzleY()
  19. {
  20. return (ViewportSwizzle)((Swizzle >> 4) & 7);
  21. }
  22. public ViewportSwizzle UnpackSwizzleZ()
  23. {
  24. return (ViewportSwizzle)((Swizzle >> 8) & 7);
  25. }
  26. public ViewportSwizzle UnpackSwizzleW()
  27. {
  28. return (ViewportSwizzle)((Swizzle >> 12) & 7);
  29. }
  30. }
  31. }