1 // SPDX-License-Identifier: Unlicense OR MIT
2
3 package gl
4
5 type (
6 Attrib uint
7 Enum uint
8 )
9
10 const (
11 ALL_BARRIER_BITS = 0xffffffff
12 ARRAY_BUFFER = 0x8892
13 BLEND = 0xbe2
14 CLAMP_TO_EDGE = 0x812f
15 COLOR_ATTACHMENT0 = 0x8ce0
16 COLOR_BUFFER_BIT = 0x4000
17 COMPILE_STATUS = 0x8b81
18 COMPUTE_SHADER = 0x91B9
19 DEPTH_BUFFER_BIT = 0x100
20 DEPTH_ATTACHMENT = 0x8d00
21 DEPTH_COMPONENT16 = 0x81a5
22 DEPTH_COMPONENT24 = 0x81A6
23 DEPTH_COMPONENT32F = 0x8CAC
24 DEPTH_TEST = 0xb71
25 DRAW_FRAMEBUFFER = 0x8CA9
26 DST_COLOR = 0x306
27 DYNAMIC_DRAW = 0x88E8
28 DYNAMIC_READ = 0x88E9
29 ELEMENT_ARRAY_BUFFER = 0x8893
30 EXTENSIONS = 0x1f03
31 FALSE = 0
32 FLOAT = 0x1406
33 FRAGMENT_SHADER = 0x8b30
34 FRAMEBUFFER = 0x8d40
35 FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210
36 FRAMEBUFFER_BINDING = 0x8ca6
37 FRAMEBUFFER_COMPLETE = 0x8cd5
38 HALF_FLOAT = 0x140b
39 HALF_FLOAT_OES = 0x8d61
40 INFO_LOG_LENGTH = 0x8B84
41 INVALID_INDEX = ^uint(0)
42 GREATER = 0x204
43 GEQUAL = 0x206
44 LINEAR = 0x2601
45 LINK_STATUS = 0x8b82
46 LUMINANCE = 0x1909
47 MAP_READ_BIT = 0x0001
48 MAX_TEXTURE_SIZE = 0xd33
49 NEAREST = 0x2600
50 NO_ERROR = 0x0
51 NUM_EXTENSIONS = 0x821D
52 ONE = 0x1
53 ONE_MINUS_SRC_ALPHA = 0x303
54 PROGRAM_BINARY_LENGTH = 0x8741
55 QUERY_RESULT = 0x8866
56 QUERY_RESULT_AVAILABLE = 0x8867
57 R16F = 0x822d
58 R8 = 0x8229
59 READ_FRAMEBUFFER = 0x8ca8
60 READ_ONLY = 0x88B8
61 READ_WRITE = 0x88BA
62 RED = 0x1903
63 RENDERER = 0x1F01
64 RENDERBUFFER = 0x8d41
65 RENDERBUFFER_BINDING = 0x8ca7
66 RENDERBUFFER_HEIGHT = 0x8d43
67 RENDERBUFFER_WIDTH = 0x8d42
68 RGB = 0x1907
69 RGBA = 0x1908
70 RGBA8 = 0x8058
71 SHADER_STORAGE_BUFFER = 0x90D2
72 SHORT = 0x1402
73 SRGB = 0x8c40
74 SRGB_ALPHA_EXT = 0x8c42
75 SRGB8 = 0x8c41
76 SRGB8_ALPHA8 = 0x8c43
77 STATIC_DRAW = 0x88e4
78 STENCIL_BUFFER_BIT = 0x00000400
79 TEXTURE_2D = 0xde1
80 TEXTURE_MAG_FILTER = 0x2800
81 TEXTURE_MIN_FILTER = 0x2801
82 TEXTURE_WRAP_S = 0x2802
83 TEXTURE_WRAP_T = 0x2803
84 TEXTURE0 = 0x84c0
85 TEXTURE1 = 0x84c1
86 TRIANGLE_STRIP = 0x5
87 TRIANGLES = 0x4
88 TRUE = 1
89 UNIFORM_BUFFER = 0x8A11
90 UNPACK_ALIGNMENT = 0xcf5
91 UNSIGNED_BYTE = 0x1401
92 UNSIGNED_SHORT = 0x1403
93 VERSION = 0x1f02
94 VERTEX_SHADER = 0x8b31
95 WRITE_ONLY = 0x88B9
96 ZERO = 0x0
97
98 // EXT_disjoint_timer_query
99 TIME_ELAPSED_EXT = 0x88BF
100 GPU_DISJOINT_EXT = 0x8FBB
101 )
102
103 var _ interface {
104 ActiveTexture(texture Enum)
105 AttachShader(p Program, s Shader)
106 BeginQuery(target Enum, query Query)
107 BindAttribLocation(p Program, a Attrib, name string)
108 BindBuffer(target Enum, b Buffer)
109 BindBufferBase(target Enum, index int, buffer Buffer)
110 BindFramebuffer(target Enum, fb Framebuffer)
111 BindImageTexture(unit int, t Texture, level int, layered bool, layer int, access, format Enum)
112 BindRenderbuffer(target Enum, fb Renderbuffer)
113 BindTexture(target Enum, t Texture)
114 BlendEquation(mode Enum)
115 BlendFunc(sfactor, dfactor Enum)
116 BlitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1 int, mask Enum, filter Enum)
117 BufferData(target Enum, size int, usage Enum)
118 BufferSubData(target Enum, offset int, src []byte)
119 CheckFramebufferStatus(target Enum) Enum
120 Clear(mask Enum)
121 ClearColor(red, green, blue, alpha float32)
122 ClearDepthf(d float32)
123 CompileShader(s Shader)
124 CreateBuffer() Buffer
125 CreateFramebuffer() Framebuffer
126 CreateProgram() Program
127 CreateQuery() Query
128 CreateRenderbuffer() Renderbuffer
129 CreateShader(ty Enum) Shader
130 CreateTexture() Texture
131 DeleteBuffer(v Buffer)
132 DeleteFramebuffer(v Framebuffer)
133 DeleteProgram(p Program)
134 DeleteQuery(query Query)
135 DeleteRenderbuffer(r Renderbuffer)
136 DeleteShader(s Shader)
137 DeleteTexture(v Texture)
138 DepthFunc(f Enum)
139 DepthMask(mask bool)
140 DisableVertexAttribArray(a Attrib)
141 Disable(cap Enum)
142 DispatchCompute(x, y, z int)
143 DrawArrays(mode Enum, first, count int)
144 DrawElements(mode Enum, count int, ty Enum, offset int)
145 Enable(cap Enum)
146 EnableVertexAttribArray(a Attrib)
147 EndQuery(target Enum)
148 FramebufferTexture2D(target, attachment, texTarget Enum, t Texture, level int)
149 FramebufferRenderbuffer(target, attachment, renderbuffertarget Enum, renderbuffer Renderbuffer)
150 GetBinding(pname Enum) Object
151 GetError() Enum
152 GetInteger(pname Enum) int
153 GetProgrami(p Program, pname Enum) int
154 GetProgramInfoLog(p Program) string
155 GetQueryObjectuiv(query Query, pname Enum) uint
156 GetShaderi(s Shader, pname Enum) int
157 GetShaderInfoLog(s Shader) string
158 GetString(pname Enum) string
159 GetUniformBlockIndex(p Program, name string) uint
160 GetUniformLocation(p Program, name string) Uniform
161 InvalidateFramebuffer(target, attachment Enum)
162 LinkProgram(p Program)
163 MapBufferRange(target Enum, offset, length int, access Enum) []byte
164 MemoryBarrier(barriers Enum)
165 ReadPixels(x, y, width, height int, format, ty Enum, data []byte)
166 RenderbufferStorage(target, internalformat Enum, width, height int)
167 ShaderSource(s Shader, src string)
168 TexImage2D(target Enum, level int, internalFormat Enum, width, height int, format, ty Enum)
169 TexParameteri(target, pname Enum, param int)
170 TexStorage2D(target Enum, levels int, internalFormat Enum, width, height int)
171 TexSubImage2D(target Enum, level, xoff, yoff int, width, height int, format, ty Enum, data []byte)
172 UniformBlockBinding(p Program, uniformBlockIndex uint, uniformBlockBinding uint)
173 Uniform1f(dst Uniform, v float32)
174 Uniform1i(dst Uniform, v int)
175 Uniform2f(dst Uniform, v0, v1 float32)
176 Uniform3f(dst Uniform, v0, v1, v2 float32)
177 Uniform4f(dst Uniform, v0, v1, v2, v3 float32)
178 UseProgram(p Program)
179 UnmapBuffer(target Enum) bool
180 VertexAttribPointer(dst Attrib, size int, ty Enum, normalized bool, stride, offset int)
181 Viewport(x, y, width, height int)
182 } = (*Functions)(nil)
183