namespace Ryujinx.Graphics.Gpu.State
{
    /// 
    /// Vertex buffer state.
    /// 
    struct VertexBufferState
    {
#pragma warning disable CS0649
        public uint  Control;
        public GpuVa Address;
        public int   Divisor;
#pragma warning restore CS0649
        /// 
        /// Vertex buffer stride, defined as the number of bytes occupied by each vertex in memory.
        /// 
        /// Vertex buffer stride
        public int UnpackStride()
        {
            return (int)(Control & 0xfff);
        }
        /// 
        /// Vertex buffer enable.
        /// 
        /// True if the vertex buffer is enabled, false otherwise
        public bool UnpackEnable()
        {
            return (Control & (1 << 12)) != 0;
        }
    }
}