Now caching viewport in GLState