/// <inheritdoc/>
 public void SetDepthStencilState(DepthStencilState state)
 {
     Contract.EnsureNotDisposed(this, Disposed);
 }
        /// <inheritdoc/>
        public void SetDepthStencilState(DepthStencilState state)
        {
            Contract.Require(state, "state");
            Contract.EnsureNotDisposed(this, Disposed);

            Ultraviolet.ValidateResource(state);

            if (this.depthStencilState != state)
            {
                this.depthStencilState = (OpenGLDepthStencilState)state;
                this.depthStencilState.Apply();
            }
        }