/// <summary>
        /// Commits any pending changes to a TextureSwapChain, and advances its current index
        /// </summary>
        /// <returns>
        /// Returns an ovrResult for which the return code is negative upon error.
        /// Failures include but aren't limited to:
        ///   - Result.TextureSwapChainFull: ovr_CommitTextureSwapChain was called too many times on a texture swapchain without calling submit to use the chain.
        /// </returns>
        public OVRTypes.Result Commit()
        {
            if (Disposed)
            {
                throw new ObjectDisposedException("TextureSwapChain");
            }

            return(OVR.CommitTextureSwapChain(Session, TextureSwapChainPtr));
        }