Constants.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. namespace Ryujinx.Graphics.Gpu
  2. {
  3. /// <summary>
  4. /// Common Maxwell GPU constants.
  5. /// </summary>
  6. static class Constants
  7. {
  8. /// <summary>
  9. /// Maximum number of compute uniform buffers.
  10. /// </summary>
  11. /// <remarks>
  12. /// This does not reflect the hardware count, the API will emulate some constant buffers using
  13. /// global memory to make up for the low amount of compute constant buffers supported by hardware (only 8).
  14. /// </remarks>
  15. public const int TotalCpUniformBuffers = 17; // 8 hardware constant buffers + 9 emulated (14 available to the user).
  16. /// <summary>
  17. /// Maximum number of compute storage buffers.
  18. /// </summary>
  19. /// <remarks>
  20. /// The maximum number of storage buffers is API limited, the hardware supports a unlimited amount.
  21. /// </remarks>
  22. public const int TotalCpStorageBuffers = 16;
  23. /// <summary>
  24. /// Maximum number of graphics uniform buffers.
  25. /// </summary>
  26. public const int TotalGpUniformBuffers = 18;
  27. /// <summary>
  28. /// Maximum number of graphics storage buffers.
  29. /// </summary>
  30. /// <remarks>
  31. /// The maximum number of storage buffers is API limited, the hardware supports a unlimited amount.
  32. /// </remarks>
  33. public const int TotalGpStorageBuffers = 16;
  34. /// <summary>
  35. /// Maximum number of transform feedback buffers.
  36. /// </summary>
  37. public const int TotalTransformFeedbackBuffers = 4;
  38. /// <summary>
  39. /// Maximum number of render target color buffers.
  40. /// </summary>
  41. public const int TotalRenderTargets = 8;
  42. /// <summary>
  43. /// Number of shader stages.
  44. /// </summary>
  45. public const int ShaderStages = 5;
  46. /// <summary>
  47. /// Maximum number of vertex attributes.
  48. /// </summary>
  49. public const int TotalVertexAttribs = 16;
  50. /// <summary>
  51. /// Maximum number of vertex buffers.
  52. /// </summary>
  53. public const int TotalVertexBuffers = 16;
  54. /// <summary>
  55. /// Maximum number of viewports.
  56. /// </summary>
  57. public const int TotalViewports = 16;
  58. /// <summary>
  59. /// Maximum size of gl_ClipDistance array in shaders.
  60. /// </summary>
  61. public const int TotalClipDistances = 8;
  62. }
  63. }