github.com/SahandAslani/gomobile@v0.0.0-20210909130135-2cb2d44c09b2/gl/types_debug.go (about) 1 // Copyright 2014 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build (darwin || linux || openbsd || windows) && gldebug 6 // +build darwin linux openbsd windows 7 // +build gldebug 8 9 package gl 10 11 // Alternate versions of the types defined in types.go with extra 12 // debugging information attached. For documentation, see types.go. 13 14 import "fmt" 15 16 type Enum uint32 17 18 type Attrib struct { 19 Value uint 20 name string 21 } 22 23 type Program struct { 24 Init bool 25 Value uint32 26 } 27 28 type Shader struct { 29 Value uint32 30 } 31 32 type Buffer struct { 33 Value uint32 34 } 35 36 type Framebuffer struct { 37 Value uint32 38 } 39 40 type Renderbuffer struct { 41 Value uint32 42 } 43 44 type Texture struct { 45 Value uint32 46 } 47 48 type Uniform struct { 49 Value int32 50 name string 51 } 52 53 type VertexArray struct { 54 Value uint32 55 } 56 57 func (v Attrib) c() uintptr { return uintptr(v.Value) } 58 func (v Enum) c() uintptr { return uintptr(v) } 59 func (v Program) c() uintptr { 60 if !v.Init { 61 ret := uintptr(0) 62 ret-- 63 return ret 64 } 65 return uintptr(v.Value) 66 } 67 func (v Shader) c() uintptr { return uintptr(v.Value) } 68 func (v Buffer) c() uintptr { return uintptr(v.Value) } 69 func (v Framebuffer) c() uintptr { return uintptr(v.Value) } 70 func (v Renderbuffer) c() uintptr { return uintptr(v.Value) } 71 func (v Texture) c() uintptr { return uintptr(v.Value) } 72 func (v Uniform) c() uintptr { return uintptr(v.Value) } 73 func (v VertexArray) c() uintptr { return uintptr(v.Value) } 74 75 func (v Attrib) String() string { return fmt.Sprintf("Attrib(%d:%s)", v.Value, v.name) } 76 func (v Program) String() string { return fmt.Sprintf("Program(%d)", v.Value) } 77 func (v Shader) String() string { return fmt.Sprintf("Shader(%d)", v.Value) } 78 func (v Buffer) String() string { return fmt.Sprintf("Buffer(%d)", v.Value) } 79 func (v Framebuffer) String() string { return fmt.Sprintf("Framebuffer(%d)", v.Value) } 80 func (v Renderbuffer) String() string { return fmt.Sprintf("Renderbuffer(%d)", v.Value) } 81 func (v Texture) String() string { return fmt.Sprintf("Texture(%d)", v.Value) } 82 func (v Uniform) String() string { return fmt.Sprintf("Uniform(%d:%s)", v.Value, v.name) } 83 func (v VertexArray) String() string { return fmt.Sprintf("VertexArray(%d)", v.Value) }