gl: fix typos in multiple places

Windows bindings had few invalid bindings.
Debug type had a typo, making gldebug non-compilable.
Use consistently .c() for types.

Fixes golang/go#23451

Change-Id: Ic9e68b1aafcd732dd5e4d8f883324723a35d24c3
Reviewed-on: https://go-review.googlesource.com/87855
Reviewed-by: Elias Naur <elias.naur@gmail.com>
diff --git a/gl/gl.go b/gl/gl.go
index 75c7fda..be4098e 100644
--- a/gl/gl.go
+++ b/gl/gl.go
@@ -411,7 +411,7 @@
 	ctx.enqueue(call{
 		args: fnargs{
 			fn: glfnDeleteBuffer,
-			a0: uintptr(v.Value),
+			a0: v.c(),
 		},
 	})
 }
@@ -420,7 +420,7 @@
 	ctx.enqueue(call{
 		args: fnargs{
 			fn: glfnDeleteFramebuffer,
-			a0: uintptr(v.Value),
+			a0: v.c(),
 		},
 	})
 }
@@ -465,7 +465,7 @@
 	ctx.enqueue(call{
 		args: fnargs{
 			fn: glfnDeleteVertexArray,
-			a0: uintptr(v.Value),
+			a0: v.c(),
 		},
 	})
 }
diff --git a/gl/gldebug.go b/gl/gldebug.go
index 48c69d3..aa9af15 100644
--- a/gl/gldebug.go
+++ b/gl/gldebug.go
@@ -5,7 +5,7 @@
 // Generated from gl.go using go generate. DO NOT EDIT.
 // See doc.go for details.
 
-// +build linux darwin windows
+// +build linux darwin windows openbsd
 // +build gldebug
 
 package gl
@@ -1337,15 +1337,15 @@
 		blocking: true})
 }
 
-func (ctx *context) BindVertexArray(t VertexArray) {
+func (ctx *context) BindVertexArray(va VertexArray) {
 	defer func() {
 		errstr := ctx.errDrain()
-		log.Printf("gl.BindVertexArray(%v) %v", t, errstr)
+		log.Printf("gl.BindVertexArray(%v) %v", va, errstr)
 	}()
 	ctx.enqueueDebug(call{
 		args: fnargs{
 			fn: glfnBindVertexArray,
-			a0: t.c(),
+			a0: va.c(),
 		},
 		blocking: true})
 }
@@ -1774,7 +1774,7 @@
 	ctx.enqueueDebug(call{
 		args: fnargs{
 			fn: glfnDeleteBuffer,
-			a0: uintptr(v.Value),
+			a0: v.c(),
 		},
 		blocking: true})
 }
@@ -1787,7 +1787,7 @@
 	ctx.enqueueDebug(call{
 		args: fnargs{
 			fn: glfnDeleteFramebuffer,
-			a0: uintptr(v.Value),
+			a0: v.c(),
 		},
 		blocking: true})
 }
diff --git a/gl/types_debug.go b/gl/types_debug.go
index 7e34377..f5a888e 100644
--- a/gl/types_debug.go
+++ b/gl/types_debug.go
@@ -49,7 +49,7 @@
 	name  string
 }
 
-type VextexArray struct {
+type VertexArray struct {
 	Value uint32
 }
 
@@ -69,7 +69,7 @@
 func (v Renderbuffer) c() uintptr { return uintptr(v.Value) }
 func (v Texture) c() uintptr      { return uintptr(v.Value) }
 func (v Uniform) c() uintptr      { return uintptr(v.Value) }
-func (v VextexArray) c() uintptr  { return uintptr(v.Value) }
+func (v VertexArray) c() uintptr  { return uintptr(v.Value) }
 
 func (v Attrib) String() string       { return fmt.Sprintf("Attrib(%d:%s)", v.Value, v.name) }
 func (v Program) String() string      { return fmt.Sprintf("Program(%d)", v.Value) }
@@ -79,4 +79,4 @@
 func (v Renderbuffer) String() string { return fmt.Sprintf("Renderbuffer(%d)", v.Value) }
 func (v Texture) String() string      { return fmt.Sprintf("Texture(%d)", v.Value) }
 func (v Uniform) String() string      { return fmt.Sprintf("Uniform(%d:%s)", v.Value, v.name) }
-func (v VextexArray) String() string  { return fmt.Sprintf("VextexArray(%d)", v.Value) }
+func (v VertexArray) String() string  { return fmt.Sprintf("VertexArray(%d)", v.Value) }
diff --git a/gl/work_windows.go b/gl/work_windows.go
index 5c30735..4119ac6 100644
--- a/gl/work_windows.go
+++ b/gl/work_windows.go
@@ -129,7 +129,7 @@
 	case glfnBindTexture:
 		syscall.Syscall(glBindTexture.Addr(), 2, c.args.a0, c.args.a1, 0)
 	case glfnBindVertexArray:
-		syscall.Syscall(glBindVertexArray.Addr(), 1, c.args.a0, 0)
+		syscall.Syscall(glBindVertexArray.Addr(), 1, c.args.a0, 0, 0)
 	case glfnBlendColor:
 		syscall.Syscall6(glBlendColor.Addr(), 4, c.args.a0, c.args.a1, c.args.a2, c.args.a3, 0, 0)
 	case glfnBlendEquation:
@@ -223,7 +223,7 @@
 	case glfnGenRenderbuffer:
 		syscall.Syscall(glGenRenderbuffers.Addr(), 2, 1, uintptr(unsafe.Pointer(&ret)), 0)
 	case glfnGenVertexArray:
-		syscall.Syscall(glVertexArrays.Addr(), 2, 1, uintptr(unsafe.Pointer(&ret)), 0)
+		syscall.Syscall(glGenVertexArrays.Addr(), 2, 1, uintptr(unsafe.Pointer(&ret)), 0)
 	case glfnGenTexture:
 		syscall.Syscall(glGenTextures.Addr(), 2, 1, uintptr(unsafe.Pointer(&ret)), 0)
 	case glfnGenerateMipmap:
@@ -395,7 +395,7 @@
 	case glfnVertexAttrib3fv:
 		syscall.Syscall(glVertexAttrib3fv.Addr(), 2, c.args.a0, uintptr(c.parg), 0)
 	case glfnVertexAttrib4f:
-		syscall.Syscall6(glVertexAttrib3f.Addr(), 5, c.args.a0, c.args.a1, c.args.a2, c.args.a3, c.args.a4, c.args.a5)
+		syscall.Syscall6(glVertexAttrib4f.Addr(), 5, c.args.a0, c.args.a1, c.args.a2, c.args.a3, c.args.a4, c.args.a5)
 	case glfnVertexAttrib4fv:
 		syscall.Syscall(glVertexAttrib4fv.Addr(), 2, c.args.a0, uintptr(c.parg), 0)
 	case glfnVertexAttribPointer:
@@ -458,7 +458,7 @@
 	glDeleteRenderbuffers                 = libGLESv2.NewProc("glDeleteRenderbuffers")
 	glDeleteShader                        = libGLESv2.NewProc("glDeleteShader")
 	glDeleteTextures                      = libGLESv2.NewProc("glDeleteTextures")
-	glVertexArrays                        = libGLESv2.NewProc("glVertexArrays")
+	glDeleteVertexArrays                  = libGLESv2.NewProc("glDeleteVertexArrays")
 	glDepthFunc                           = libGLESv2.NewProc("glDepthFunc")
 	glDepthRangef                         = libGLESv2.NewProc("glDepthRangef")
 	glDepthMask                           = libGLESv2.NewProc("glDepthMask")