namespace Ryujinx.Graphics.Gpu { /// /// Common Maxwell GPU constants. /// static class Constants { /// /// Maximum number of compute uniform buffers. /// /// /// This does not reflect the hardware count, the API will emulate some constant buffers using /// global memory to make up for the low amount of compute constant buffers supported by hardware (only 8). /// public const int TotalCpUniformBuffers = 17; // 8 hardware constant buffers + 9 emulated (14 available to the user). /// /// Maximum number of compute storage buffers. /// /// /// The maximum number of storage buffers is API limited, the hardware supports a unlimited amount. /// public const int TotalCpStorageBuffers = 16; /// /// Maximum number of graphics uniform buffers. /// public const int TotalGpUniformBuffers = 18; /// /// Maximum number of graphics storage buffers. /// /// /// The maximum number of storage buffers is API limited, the hardware supports a unlimited amount. /// public const int TotalGpStorageBuffers = 16; /// /// Maximum number of transform feedback buffers. /// public const int TotalTransformFeedbackBuffers = 4; /// /// Maximum number of render target color buffers. /// public const int TotalRenderTargets = 8; /// /// Number of shader stages. /// public const int ShaderStages = 5; /// /// Maximum number of vertex attributes. /// public const int TotalVertexAttribs = 16; /// /// Maximum number of vertex buffers. /// public const int TotalVertexBuffers = 16; /// /// Maximum number of viewports. /// public const int TotalViewports = 16; /// /// Maximum size of gl_ClipDistance array in shaders. /// public const int TotalClipDistances = 8; /// /// Byte alignment for texture stride. /// public const int StrideAlignment = 32; /// /// Byte alignment for block linear textures /// public const int GobAlignment = 64; } }