app/headless: prepare OpenGL context on macOS

The macOS backend uses a desktop OpenGL context, not a OpenGL ES
context. The main difference is that sRGB have to be enabled and
a vertex buffer must be bound.

Do that and fix Window.Screenshot for scenes more complex than a
glClear.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-12-03 23:53:56 +01:00
parent fddb0af6f6
commit d9212263aa
5 changed files with 23 additions and 5 deletions
+3 -2
View File
@@ -22,9 +22,10 @@ func TestHeadless(t *testing.T) {
col := color.RGBA{A: 0xff, R: 0xcc, G: 0xcc}
var ops op.Ops
paint.ColorOp{Color: col}.Add(&ops)
// Paint only part of the screen to avoid the glClear optimization.
paint.PaintOp{Rect: f32.Rectangle{Max: f32.Point{
X: float32(sz.X),
Y: float32(sz.Y),
X: float32(sz.X) - 100,
Y: float32(sz.Y) - 100,
}}}.Add(&ops)
w.Frame(&ops)