If a frame draw cycle does not end in a blocking GL call, then the app package may process the <-endDraw before the final <-gl.WorkAvailable, meaning some GL calls miss the frame. So we make sure the final GL call for a frame is blocking. Fixes golang/go#11696. Fixes golang/go#10688. Change-Id: I39772a3308c98947b1f0838ad58d1d406a711e7f Reviewed-on: https://go-review.googlesource.com/12123 Reviewed-by: Nigel Tao <nigeltao@golang.org>