github.com/goki/mobile@v0.0.0-20230707090321-193544ec5700/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) }