using Ryujinx.Graphics.GAL; namespace Ryujinx.Graphics.Gpu.Engine.Threed { /// /// Draw state. /// class DrawState { /// /// First index to be used for the draw on the index buffer. /// public int FirstIndex; /// /// Number of indices to be used for the draw on the index buffer. /// public int IndexCount; /// /// First vertex used on non-indexed draws. This value is stored somewhere else on indexed draws. /// public int DrawFirstVertex; /// /// Vertex count used on non-indexed draws. Indexed draws have a index count instead. /// public int DrawVertexCount; /// /// Indicates if the next draw will be a indexed draw. /// public bool DrawIndexed; /// /// Indicates if the next draw will be a indirect draw. /// public bool DrawIndirect; /// /// Indicates if any of the currently used vertex shaders reads the instance ID. /// public bool VsUsesInstanceId; /// /// Indicates if any of the currently used vertex buffers is instanced. /// public bool IsAnyVbInstanced; /// /// Indicates that the draw is writing the base vertex, base instance and draw index to Constant Buffer 0. /// public bool HasConstantBufferDrawParameters; /// /// Primitive topology for the next draw. /// public PrimitiveTopology Topology; /// /// Index buffer data streamer for inline index buffer updates, such as those used in legacy OpenGL. /// public IbStreamer IbStreamer = new IbStreamer(); } }