fix gl.Viewport & give error on broken input