Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
glfunctions.inc
Go to the documentation of this file.
1 
18 #ifndef ION_GFX_GLFUNCTIONS_H_
19 #define ION_GFX_GLFUNCTIONS_H_
20 
21 #if !defined(ION_WRAP_GL_FUNC)
22 # error "ION_WRAP_GL_FUNC must be defined to include glfunctions.h"
23 #endif
24 
25 #if !defined(ION_TRACE_ARG)
26 # define ION_TRACE_ARG(...)
27 #endif
28 
29 // These types are necessary to distinguish between types with overlapping
30 // values, e.g., GL_ZERO, GL_NONE, and GL_POINTS are the same number. Having
31 // specially named types allows TracingHelper determine which value to print.
32 typedef GLenum GLblendenum;
33 typedef GLenum GLstencilenum;
34 typedef GLint GLintenum;
35 typedef GLint GLtextureenum;
36 typedef GLbitfield GLmapaccess;
37 // These special types let TracingHelper know the type of pointer being passed.
38 typedef GLfloat GLfloat1;
39 typedef GLfloat GLfloat2;
40 typedef GLfloat GLfloat3;
41 typedef GLfloat GLfloat4;
42 typedef GLfloat GLmatrix2;
43 typedef GLfloat GLmatrix3;
44 typedef GLfloat GLmatrix4;
45 typedef GLint GLint1;
46 typedef GLint GLint2;
47 typedef GLint GLint3;
48 typedef GLint GLint4;
49 typedef GLuint GLuint1;
50 typedef GLuint GLuint2;
51 typedef GLuint GLuint3;
52 typedef GLuint GLuint4;
53 
54 // -----------------------------------------------------------------------------
55 // Macros wrapping all OpenGL functions.
56 #define ION_WRAP_GL_FUNC0(group, name, return_type) \
57  ION_WRAP_GL_FUNC(group, name, return_type, (), (), "")
58 
59 #define ION_WRAP_GL_FUNC1(group, name, return_type, t1, a1) \
60  ION_WRAP_GL_FUNC(group, \
61  name, \
62  return_type, \
63  (t1 a1), \
64  (a1), \
65  ION_TRACE_ARG(name, t1, a1))
66 
67 #define ION_WRAP_GL_FUNC2(group, name, return_type, \
68  t1, a1, t2, a2) \
69  ION_WRAP_GL_FUNC(group, name, return_type, \
70  (t1 a1, t2 a2), \
71  (a1, a2), \
72  ION_TRACE_ARG(name, t1, a1) << ", " << \
73  ION_TRACE_ARG(name, t2, a2))
74 
75 #define ION_WRAP_GL_FUNC3(group, name, return_type, \
76  t1, a1, t2, a2, t3, a3) \
77  ION_WRAP_GL_FUNC(group, name, return_type, \
78  (t1 a1, t2 a2, t3 a3), \
79  (a1, a2, a3), \
80  ION_TRACE_ARG(name, t1, a1) << ", " << \
81  ION_TRACE_ARG(name, t2, a2) << ", " << \
82  ION_TRACE_ARG(name, t3, a3))
83 
84 #define ION_WRAP_GL_FUNC4(group, name, return_type, \
85  t1, a1, t2, a2, t3, a3, t4, a4) \
86  ION_WRAP_GL_FUNC(group, name, return_type, \
87  (t1 a1, t2 a2, t3 a3, t4 a4), \
88  (a1, a2, a3, a4), \
89  ION_TRACE_ARG(name, t1, a1) << ", " << \
90  ION_TRACE_ARG(name, t2, a2) << ", " << \
91  ION_TRACE_ARG(name, t3, a3) << ", " << \
92  ION_TRACE_ARG(name, t4, a4))
93 
94 #define ION_WRAP_GL_FUNC5(group, name, return_type, \
95  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5) \
96  ION_WRAP_GL_FUNC(group, name, return_type, \
97  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5), \
98  (a1, a2, a3, a4, a5), \
99  ION_TRACE_ARG(name, t1, a1) << ", " << \
100  ION_TRACE_ARG(name, t2, a2) << ", " << \
101  ION_TRACE_ARG(name, t3, a3) << ", " << \
102  ION_TRACE_ARG(name, t4, a4) << ", " << \
103  ION_TRACE_ARG(name, t5, a5))
104 
105 #define ION_WRAP_GL_FUNC6(group, name, return_type, \
106  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6) \
107  ION_WRAP_GL_FUNC(group, name, return_type, \
108  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6), \
109  (a1, a2, a3, a4, a5, a6), \
110  ION_TRACE_ARG(name, t1, a1) << ", " << \
111  ION_TRACE_ARG(name, t2, a2) << ", " << \
112  ION_TRACE_ARG(name, t3, a3) << ", " << \
113  ION_TRACE_ARG(name, t4, a4) << ", " << \
114  ION_TRACE_ARG(name, t5, a5) << ", " << \
115  ION_TRACE_ARG(name, t6, a6))
116 
117 #define ION_WRAP_GL_FUNC7(group, name, return_type, \
118  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
119  t6, a6, t7, a7) \
120  ION_WRAP_GL_FUNC(group, name, return_type, \
121  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7), \
122  (a1, a2, a3, a4, a5, a6, a7), \
123  ION_TRACE_ARG(name, t1, a1) << ", " << \
124  ION_TRACE_ARG(name, t2, a2) << ", " << \
125  ION_TRACE_ARG(name, t3, a3) << ", " << \
126  ION_TRACE_ARG(name, t4, a4) << ", " << \
127  ION_TRACE_ARG(name, t5, a5) << ", " << \
128  ION_TRACE_ARG(name, t6, a6) << ", " << \
129  ION_TRACE_ARG(name, t7, a7))
130 
131 #define ION_WRAP_GL_FUNC8(group, name, return_type, \
132  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
133  t6, a6, t7, a7, t8, a8) \
134  ION_WRAP_GL_FUNC(group, name, return_type, \
135  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, t8 a8), \
136  (a1, a2, a3, a4, a5, a6, a7, a8), \
137  ION_TRACE_ARG(name, t1, a1) << ", " << \
138  ION_TRACE_ARG(name, t2, a2) << ", " << \
139  ION_TRACE_ARG(name, t3, a3) << ", " << \
140  ION_TRACE_ARG(name, t4, a4) << ", " << \
141  ION_TRACE_ARG(name, t5, a5) << ", " << \
142  ION_TRACE_ARG(name, t6, a6) << ", " << \
143  ION_TRACE_ARG(name, t7, a7) << ", " << \
144  ION_TRACE_ARG(name, t8, a8))
145 
146 #define ION_WRAP_GL_FUNC9(group, name, return_type, \
147  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
148  t6, a6, t7, a7, t8, a8, t9, a9) \
149  ION_WRAP_GL_FUNC(group, name, return_type, \
150  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, \
151  t8 a8, t9 a9), \
152  (a1, a2, a3, a4, a5, a6, a7, a8, a9), \
153  ION_TRACE_ARG(name, t1, a1) << ", " << \
154  ION_TRACE_ARG(name, t2, a2) << ", " << \
155  ION_TRACE_ARG(name, t3, a3) << ", " << \
156  ION_TRACE_ARG(name, t4, a4) << ", " << \
157  ION_TRACE_ARG(name, t5, a5) << ", " << \
158  ION_TRACE_ARG(name, t6, a6) << ", " << \
159  ION_TRACE_ARG(name, t7, a7) << ", " << \
160  ION_TRACE_ARG(name, t8, a8) << ", " << \
161  ION_TRACE_ARG(name, t9, a9))
162 
163 #define ION_WRAP_GL_FUNC10(group, name, return_type, \
164  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
165  t6, a6, t7, a7, t8, a8, t9, a9, t10, a10) \
166  ION_WRAP_GL_FUNC(group, name, return_type, \
167  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, \
168  t8 a8, t9 a9, t10 a10), \
169  (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10), \
170  ION_TRACE_ARG(name, t1, a1) << ", " << \
171  ION_TRACE_ARG(name, t2, a2) << ", " << \
172  ION_TRACE_ARG(name, t3, a3) << ", " << \
173  ION_TRACE_ARG(name, t4, a4) << ", " << \
174  ION_TRACE_ARG(name, t5, a5) << ", " << \
175  ION_TRACE_ARG(name, t6, a6) << ", " << \
176  ION_TRACE_ARG(name, t7, a7) << ", " << \
177  ION_TRACE_ARG(name, t8, a8) << ", " << \
178  ION_TRACE_ARG(name, t9, a9) << ", " << \
179  ION_TRACE_ARG(name, t10, a10))
180 
181 #define ION_WRAP_GL_FUNC11(group, name, return_type, \
182  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
183  t6, a6, t7, a7, t8, a8, t9, a9, t10, a10, \
184  t11, a11) \
185  ION_WRAP_GL_FUNC(group, name, return_type, \
186  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, \
187  t8 a8, t9 a9, t10 a10, t11 a11), \
188  (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11), \
189  ION_TRACE_ARG(name, t1, a1) << ", " << \
190  ION_TRACE_ARG(name, t2, a2) << ", " << \
191  ION_TRACE_ARG(name, t3, a3) << ", " << \
192  ION_TRACE_ARG(name, t4, a4) << ", " << \
193  ION_TRACE_ARG(name, t5, a5) << ", " << \
194  ION_TRACE_ARG(name, t6, a6) << ", " << \
195  ION_TRACE_ARG(name, t7, a7) << ", " << \
196  ION_TRACE_ARG(name, t8, a8) << ", " << \
197  ION_TRACE_ARG(name, t9, a9) << ", " << \
198  ION_TRACE_ARG(name, t10, a10) << ", " << \
199  ION_TRACE_ARG(name, t11, a11))
200 
201 #define ION_WRAP_GL_FUNC12(group, name, return_type, \
202  t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, \
203  t6, a6, t7, a7, t8, a8, t9, a9, t10, a10, \
204  t11, a11, t12, a12) \
205  ION_WRAP_GL_FUNC(group, name, return_type, \
206  (t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6, t7 a7, \
207  t8 a8, t9 a9, t10 a10, t11 a11, t12 a12), \
208  (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11), \
209  ION_TRACE_ARG(name, t1, a1) << ", " << \
210  ION_TRACE_ARG(name, t2, a2) << ", " << \
211  ION_TRACE_ARG(name, t3, a3) << ", " << \
212  ION_TRACE_ARG(name, t4, a4) << ", " << \
213  ION_TRACE_ARG(name, t5, a5) << ", " << \
214  ION_TRACE_ARG(name, t6, a6) << ", " << \
215  ION_TRACE_ARG(name, t7, a7) << ", " << \
216  ION_TRACE_ARG(name, t8, a8) << ", " << \
217  ION_TRACE_ARG(name, t9, a9) << ", " << \
218  ION_TRACE_ARG(name, t10, a10) << ", " << \
219  ION_TRACE_ARG(name, t11, a11) << ", " << \
220  ION_TRACE_ARG(name, t12, a12))
221 
222 // Each of these implements the corresponding standard or extended OpenGL
223 // function. All functions in the Core group are guaranteed to be present on all
224 // systems.
225 ION_WRAP_GL_FUNC1(Core, ActiveTexture, void, GLenum, texture)
226 ION_WRAP_GL_FUNC2(Core, AttachShader, void, GLuint, program, GLuint, shader)
227 ION_WRAP_GL_FUNC3(Core, BindAttribLocation, void, GLuint, program, GLuint,
228  index, const GLchar*, name)
229 ION_WRAP_GL_FUNC2(Core, BindBuffer, void, GLenum, target, GLuint, buffer)
230 ION_WRAP_GL_FUNC2(Core, BindFramebuffer, void, GLenum, target, GLuint,
231  framebuffer)
232 ION_WRAP_GL_FUNC2(Core, BindRenderbuffer, void, GLenum, target, GLuint,
233  renderbuffer)
234 ION_WRAP_GL_FUNC2(Core, BindTexture, void, GLenum, target, GLuint, texture)
235 ION_WRAP_GL_FUNC4(Core, BlendColor, void, GLfloat, red, GLfloat, green, GLfloat,
236  blue, GLfloat, alpha)
237 ION_WRAP_GL_FUNC1(Core, BlendEquation, void, GLenum, mode)
238 ION_WRAP_GL_FUNC2(Core, BlendEquationSeparate, void, GLenum, mode_rgb, GLenum,
239  mode_alpha)
240 ION_WRAP_GL_FUNC2(Core, BlendFunc, void, GLblendenum, sfactor, GLblendenum,
241  dfactor)
242 ION_WRAP_GL_FUNC4(Core, BlendFuncSeparate, void, GLblendenum, sfactor_rgb,
243  GLblendenum, dfactor_rgb, GLblendenum, sfactor_alpha,
244  GLblendenum, dfactor_alpha)
245 ION_WRAP_GL_FUNC4(Core, BufferData, void, GLenum, target, GLsizeiptr, size,
246  const GLvoid*, data, GLenum, usage)
247 ION_WRAP_GL_FUNC4(Core, BufferSubData, void, GLenum, target, GLintptr, offset,
248  GLsizeiptr, size, const GLvoid*, data)
249 ION_WRAP_GL_FUNC1(Core, CheckFramebufferStatus, GLenum, GLenum, target)
250 ION_WRAP_GL_FUNC1(Core, Clear, void, GLbitfield, mask)
251 ION_WRAP_GL_FUNC4(Core, ClearColor, void, GLfloat, red, GLfloat, green, GLfloat,
252  blue, GLfloat, alpha)
253 ION_WRAP_GL_FUNC1(Core, ClearDepthf, void, GLfloat, depth)
254 ION_WRAP_GL_FUNC1(Core, ClearStencil, void, GLint, s)
255 ION_WRAP_GL_FUNC4(Core, ColorMask, void, GLboolean, red, GLboolean, green,
256  GLboolean, blue, GLboolean, alpha)
257 ION_WRAP_GL_FUNC1(Core, CompileShader, void, GLuint, shader)
258 ION_WRAP_GL_FUNC8(Core, CompressedTexImage2D, void, GLenum, target, GLint,
259  level, GLenum, internal_format, GLsizei, width, GLsizei,
260  height, GLint, border, GLsizei, image_size, const GLvoid*,
261  data)
262 ION_WRAP_GL_FUNC9(Core, CompressedTexSubImage2D, void, GLenum, target, GLint,
263  level, GLint, xoffset, GLint, yoffset, GLsizei, width,
264  GLsizei, height, GLenum, format, GLsizei, imageSize,
265  const GLvoid*, data)
266 ION_WRAP_GL_FUNC8(Core, CopyTexImage2D, void, GLenum, target, GLint, level,
267  GLenum, internalformat, GLint, x, GLint, y, GLsizei, width,
268  GLsizei, height, GLint, border)
269 ION_WRAP_GL_FUNC8(Core, CopyTexSubImage2D, void, GLenum, target, GLint, level,
270  GLint, xoffset, GLint, yoffset, GLint, x, GLint, y, GLsizei,
271  width, GLsizei, height)
272 ION_WRAP_GL_FUNC0(Core, CreateProgram, GLuint)
273 ION_WRAP_GL_FUNC1(Core, CreateShader, GLuint, GLenum, type)
274 ION_WRAP_GL_FUNC1(Core, CullFace, void, GLenum, mode)
275 ION_WRAP_GL_FUNC2(Core, DeleteBuffers, void, GLsizei, n, const GLuint*,
276  buffers)
277 ION_WRAP_GL_FUNC2(Core, DeleteFramebuffers, void, GLsizei, n, const GLuint*,
278  framebuffers)
279 ION_WRAP_GL_FUNC1(Core, DeleteProgram, void, GLuint, program)
280 ION_WRAP_GL_FUNC2(Core, DeleteRenderbuffers, void, GLsizei, n, const GLuint*,
281  renderbuffers)
282 ION_WRAP_GL_FUNC1(Core, DeleteShader, void, GLuint, shader)
283 ION_WRAP_GL_FUNC2(Core, DeleteTextures, void, GLsizei, n, const GLuint*,
284  textures)
285 ION_WRAP_GL_FUNC1(Core, DepthFunc, void, GLenum, func)
286 ION_WRAP_GL_FUNC1(Core, DepthMask, void, GLboolean, flag)
287 ION_WRAP_GL_FUNC2(Core, DepthRangef, void, GLfloat, near_val, GLfloat, far_val)
288 ION_WRAP_GL_FUNC2(Core, DetachShader, void, GLuint, program, GLuint, shader)
289 ION_WRAP_GL_FUNC1(Core, Disable, void, GLenum, cap)
290 ION_WRAP_GL_FUNC1(Core, DisableVertexAttribArray, void, GLuint, index)
291 ION_WRAP_GL_FUNC3(Core, DrawArrays, void, GLenum, mode, GLint, first, GLsizei,
292  count)
293 ION_WRAP_GL_FUNC4(Core, DrawElements, void, GLenum, mode, GLsizei, count,
294  GLenum, type, const GLvoid*, indices)
295 ION_WRAP_GL_FUNC1(Core, Enable, void, GLenum, cap)
296 ION_WRAP_GL_FUNC1(Core, EnableVertexAttribArray, void, GLuint, index)
297 ION_WRAP_GL_FUNC0(Core, Finish, void)
298 ION_WRAP_GL_FUNC0(Core, Flush, void)
299 ION_WRAP_GL_FUNC4(Core, FramebufferRenderbuffer, void, GLenum, target, GLenum,
300  attachment, GLenum, renderbuffertarget, GLuint, renderbuffer)
301 ION_WRAP_GL_FUNC5(Core, FramebufferTexture2D, void, GLenum, target, GLenum,
302  attachment, GLenum, textarget, GLuint, texture, GLint, level)
303 ION_WRAP_GL_FUNC1(Core, FrontFace, void, GLenum, mode)
304 ION_WRAP_GL_FUNC2(Core, GenBuffers, void, GLsizei, n, GLuint*, buffers)
305 ION_WRAP_GL_FUNC1(Core, GenerateMipmap, void, GLenum, target)
306 ION_WRAP_GL_FUNC2(Core, GenFramebuffers, void, GLsizei, n, GLuint*,
307  framebuffers)
308 ION_WRAP_GL_FUNC2(Core, GenRenderbuffers, void, GLsizei, n, GLuint*,
309  renderbuffers)
310 ION_WRAP_GL_FUNC2(Core, GenTextures, void, GLsizei, n, GLuint*, textures)
311 ION_WRAP_GL_FUNC7(Core, GetActiveAttrib, void, GLuint, program, GLuint, index,
312  GLsizei, bufSize, GLsizei*, length, GLint*, size, GLenum*,
313  type, GLchar*, name)
314 ION_WRAP_GL_FUNC7(Core, GetActiveUniform, void, GLuint, program, GLuint, index,
315  GLsizei, bufSize, GLsizei*, length, GLint*, size, GLenum*,
316  type, GLchar*, name)
317 ION_WRAP_GL_FUNC4(Core, GetAttachedShaders, void, GLuint, program, GLsizei,
318  maxCount, GLsizei*, count, GLuint*, shaders)
319 ION_WRAP_GL_FUNC2(Core, GetAttribLocation, GLint, GLuint, program,
320  const GLchar*, name)
321 ION_WRAP_GL_FUNC2(Core, GetBooleanv, void, GLenum, pname, GLboolean*, params)
322 ION_WRAP_GL_FUNC3(Core, GetBufferParameteriv, void, GLenum, target, GLenum,
323  value, GLint*, data)
324 ION_WRAP_GL_FUNC0(Core, GetError, GLenum)
325 ION_WRAP_GL_FUNC2(Core, GetFloatv, void, GLenum, pname, GLfloat*, params)
326 ION_WRAP_GL_FUNC4(Core, GetFramebufferAttachmentParameteriv, void, GLenum,
327  target, GLenum, attachment, GLenum, pname, GLint*, params)
328 ION_WRAP_GL_FUNC2(Core, GetIntegerv, void, GLenum, pname, GLint*, params)
329 ION_WRAP_GL_FUNC4(Core, GetProgramInfoLog, void, GLuint, program, GLsizei,
330  buf_size, GLsizei*, length, GLchar*, info_log)
331 ION_WRAP_GL_FUNC3(Core, GetProgramiv, void, GLuint, program, GLenum, pname,
332  GLint*, params)
333 ION_WRAP_GL_FUNC3(Core, GetRenderbufferParameteriv, void, GLenum, target,
334  GLenum, pname, GLint*, params)
335 ION_WRAP_GL_FUNC4(Core, GetShaderInfoLog, void, GLuint, shader, GLsizei,
336  buf_size, GLsizei*, length, GLchar*, info_log)
337 ION_WRAP_GL_FUNC4(Core, GetShaderPrecisionFormat, void, GLenum, shaderType,
338  GLenum, precisionType, GLint*, range, GLint*, precision)
339 ION_WRAP_GL_FUNC4(Core, GetShaderSource, void, GLuint, shader, GLsizei,
340  buf_size, GLsizei*, length, GLchar*, source)
341 ION_WRAP_GL_FUNC3(Core, GetShaderiv, void, GLuint, shader, GLenum, pname,
342  GLint*, params)
343 ION_WRAP_GL_FUNC1(Core, GetString, const GLubyte*, GLenum, name)
344 ION_WRAP_GL_FUNC3(Core, GetTexParameterfv, void, GLenum, target, GLenum, pname,
345  GLfloat*, params)
346 ION_WRAP_GL_FUNC3(Core, GetTexParameteriv, void, GLenum, target, GLenum, pname,
347  GLint*, params)
348 ION_WRAP_GL_FUNC3(Core, GetUniformfv, void, GLuint, program, GLint, location,
349  GLfloat*, params)
350 ION_WRAP_GL_FUNC3(Core, GetUniformiv, void, GLuint, program, GLint, location,
351  GLint*, params)
352 ION_WRAP_GL_FUNC2(Core, GetUniformLocation, GLint, GLuint, program,
353  const GLchar*, name)
354 ION_WRAP_GL_FUNC3(Core, GetVertexAttribfv, void, GLuint, index, GLenum, pname,
355  GLfloat*, params)
356 ION_WRAP_GL_FUNC3(Core, GetVertexAttribiv, void, GLuint, index, GLenum, pname,
357  GLint*, params)
358 ION_WRAP_GL_FUNC3(Core, GetVertexAttribPointerv, void, GLuint, index, GLenum,
359  pname, GLvoid**, pointer)
360 ION_WRAP_GL_FUNC2(Core, Hint, void, GLenum, target, GLenum, hint)
361 ION_WRAP_GL_FUNC1(Core, IsBuffer, GLboolean, GLuint, buffer)
362 ION_WRAP_GL_FUNC1(Core, IsEnabled, GLboolean, GLenum, value)
363 ION_WRAP_GL_FUNC1(Core, IsFramebuffer, GLboolean, GLuint, framebuffer)
364 ION_WRAP_GL_FUNC1(Core, IsProgram, GLboolean, GLuint, program)
365 ION_WRAP_GL_FUNC1(Core, IsRenderbuffer, GLboolean, GLuint, renderbuffer)
366 ION_WRAP_GL_FUNC1(Core, IsShader, GLboolean, GLuint, shader)
367 ION_WRAP_GL_FUNC1(Core, IsTexture, GLboolean, GLuint, texture)
368 ION_WRAP_GL_FUNC1(Core, LineWidth, void, GLfloat, width)
369 ION_WRAP_GL_FUNC1(Core, LinkProgram, void, GLuint, program)
370 ION_WRAP_GL_FUNC2(Core, PixelStorei, void, GLenum, pname, GLint, param)
371 ION_WRAP_GL_FUNC2(Core, PolygonOffset, void, GLfloat, factor, GLfloat, units)
372 ION_WRAP_GL_FUNC7(Core, ReadPixels, void, GLint, x, GLint, y, GLsizei, width,
373  GLsizei, height, GLenum, format, GLenum, type, GLvoid*, data)
374 ION_WRAP_GL_FUNC0(Core, ReleaseShaderCompiler, void)
375 ION_WRAP_GL_FUNC4(Core, RenderbufferStorage, void, GLenum, target, GLenum,
376  internalformat, GLsizei, width, GLsizei, height)
377 ION_WRAP_GL_FUNC2(Core, SampleCoverage, void, GLfloat, value, GLboolean,
378  invert)
379 ION_WRAP_GL_FUNC4(Core, Scissor, void, GLint, x, GLint, y, GLsizei, width,
380  GLsizei, height)
381 ION_WRAP_GL_FUNC5(Core, ShaderBinary, void, GLsizei, n, const GLuint*, shaders,
382  GLenum, binaryformat, const void*, binary, GLsizei, length)
383 ION_WRAP_GL_FUNC4(Core, ShaderSource, void, GLuint, shader, GLsizei, count,
384  const GLchar**, string, const GLint*, length)
385 ION_WRAP_GL_FUNC3(Core, StencilFunc, void, GLenum, func, GLint, ref, GLuint,
386  mask)
387 ION_WRAP_GL_FUNC4(Core, StencilFuncSeparate, void, GLenum, face, GLenum, func,
388  GLint, ref, GLuint, mask)
389 ION_WRAP_GL_FUNC1(Core, StencilMask, void, GLuint, mask)
390 ION_WRAP_GL_FUNC2(Core, StencilMaskSeparate, void, GLenum, face, GLuint, mask)
391 ION_WRAP_GL_FUNC3(Core, StencilOp, void, GLstencilenum, sfail, GLstencilenum,
392  dpfail, GLstencilenum, dppass)
393 ION_WRAP_GL_FUNC4(Core, StencilOpSeparate, void, GLenum, face, GLstencilenum,
394  sfail, GLstencilenum, dpfail, GLstencilenum, dppass)
395 ION_WRAP_GL_FUNC9(Core, TexImage2D, void, GLintenum, target, GLint, level,
396  GLenum, internal_format, GLsizei, width, GLsizei, height,
397  GLint, border, GLenum, format, GLenum, type, const GLvoid*,
398  pixels)
399 ION_WRAP_GL_FUNC3(Core, TexParameterf, void, GLenum, target, GLenum, pname,
400  GLfloat, param)
401 ION_WRAP_GL_FUNC3(Core, TexParameterfv, void, GLenum, target, GLenum, pname,
402  const GLfloat*, params)
403 ION_WRAP_GL_FUNC3(Core, TexParameteri, void, GLenum, target, GLenum, pname,
404  GLtextureenum, param)
405 ION_WRAP_GL_FUNC3(Core, TexParameteriv, void, GLenum, target, GLenum, pname,
406  const GLint*, params)
407 ION_WRAP_GL_FUNC9(Core, TexSubImage2D, void, GLenum, target, GLint, level,
408  GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei,
409  height, GLenum, format, GLenum, type, const GLvoid*, data)
410 ION_WRAP_GL_FUNC2(Core, Uniform1f, void, GLint, location, GLfloat, v0)
411 ION_WRAP_GL_FUNC3(Core, Uniform1fv, void, GLint, location, GLsizei, count,
412  const GLfloat1*, value)
413 ION_WRAP_GL_FUNC2(Core, Uniform1i, void, GLint, location, GLint, v0)
414 ION_WRAP_GL_FUNC3(Core, Uniform1iv, void, GLint, location, GLsizei, count,
415  const GLint1*, value)
416 ION_WRAP_GL_FUNC3(Core, Uniform2f, void, GLint, location, GLfloat, v0, GLfloat,
417  v1)
418 ION_WRAP_GL_FUNC3(Core, Uniform2fv, void, GLint, location, GLsizei, count,
419  const GLfloat2*, value)
420 ION_WRAP_GL_FUNC3(Core, Uniform2i, void, GLint, location, GLint, v0, GLint, v1)
421 ION_WRAP_GL_FUNC3(Core, Uniform2iv, void, GLint, location, GLsizei, count,
422  const GLint2*, value)
423 ION_WRAP_GL_FUNC4(Core, Uniform3f, void, GLint, location, GLfloat, v0, GLfloat,
424  v1, GLfloat, v2)
425 ION_WRAP_GL_FUNC3(Core, Uniform3fv, void, GLint, location, GLsizei, count,
426  const GLfloat3*, value)
427 ION_WRAP_GL_FUNC4(Core, Uniform3i, void, GLint, location, GLint, v0, GLint, v1,
428  GLint, v2)
429 ION_WRAP_GL_FUNC3(Core, Uniform3iv, void, GLint, location, GLsizei, count,
430  const GLint3*, value)
431 ION_WRAP_GL_FUNC5(Core, Uniform4f, void, GLint, location, GLfloat, v0, GLfloat,
432  v1, GLfloat, v2, GLfloat, v3)
433 ION_WRAP_GL_FUNC3(Core, Uniform4fv, void, GLint, location, GLsizei, count,
434  const GLfloat4*, value)
435 ION_WRAP_GL_FUNC5(Core, Uniform4i, void, GLint, location, GLint, v0, GLint, v1,
436  GLint, v2, GLint, v3)
437 ION_WRAP_GL_FUNC3(Core, Uniform4iv, void, GLint, location, GLsizei, count,
438  const GLint4*, value)
439 ION_WRAP_GL_FUNC4(Core, UniformMatrix2fv, void, GLint, location, GLsizei, count,
440  GLboolean, transpose, const GLmatrix2*, value)
441 ION_WRAP_GL_FUNC4(Core, UniformMatrix3fv, void, GLint, location, GLsizei, count,
442  GLboolean, transpose, const GLmatrix3*, value)
443 ION_WRAP_GL_FUNC4(Core, UniformMatrix4fv, void, GLint, location, GLsizei, count,
444  GLboolean, transpose, const GLmatrix4*, value)
445 ION_WRAP_GL_FUNC1(Core, UseProgram, void, GLuint, program)
446 ION_WRAP_GL_FUNC1(Core, ValidateProgram, void, GLuint, program)
447 ION_WRAP_GL_FUNC2(Core, VertexAttrib1f, void, GLint, index, GLfloat, v0)
448 ION_WRAP_GL_FUNC2(Core, VertexAttrib1fv, void, GLuint, index, const GLfloat1*,
449  value)
450 ION_WRAP_GL_FUNC3(Core, VertexAttrib2f, void, GLint, index, GLfloat, v0,
451  GLfloat, v1)
452 ION_WRAP_GL_FUNC2(Core, VertexAttrib2fv, void, GLuint, index, const GLfloat2*,
453  value)
454 ION_WRAP_GL_FUNC4(Core, VertexAttrib3f, void, GLint, index, GLfloat, v0,
455  GLfloat, v1, GLfloat, v2)
456 ION_WRAP_GL_FUNC2(Core, VertexAttrib3fv, void, GLuint, index, const GLfloat3*,
457  value)
458 ION_WRAP_GL_FUNC5(Core, VertexAttrib4f, void, GLint, index, GLfloat, v0,
459  GLfloat, v1, GLfloat, v2, GLfloat, v3)
460 ION_WRAP_GL_FUNC2(Core, VertexAttrib4fv, void, GLuint, index, const GLfloat4*,
461  value)
462 ION_WRAP_GL_FUNC6(Core, VertexAttribPointer, void, GLuint, index, GLint, size,
463  GLenum, type, GLboolean, normalized, GLsizei, stride,
464  const GLvoid*, pointer)
465 ION_WRAP_GL_FUNC4(Core, Viewport, void, GLint, x, GLint, y, GLsizei, width,
466  GLsizei, height)
467 
468 // ChooseBuffer group.
469 ION_WRAP_GL_FUNC1(ChooseBuffer, DrawBuffer, void, GLenum, buffer)
470 ION_WRAP_GL_FUNC1(ChooseBuffer, ReadBuffer, void, GLenum, buffer)
471 
472 // DebugLabel group.
473 ION_WRAP_GL_FUNC5(DebugLabel, GetObjectLabel, void, GLenum, type, GLuint,
474  object, GLsizei, bufSize, GLsizei*, length, GLchar*, label)
475 ION_WRAP_GL_FUNC4(DebugLabel, LabelObject, void, GLenum, type, GLuint, object,
476  GLsizei, length, const GLchar*, label)
477 
478 // DebugMarker group.
479 ION_WRAP_GL_FUNC2(DebugMarker, InsertEventMarker, void, GLsizei, length,
480  const GLchar*, marker)
481 ION_WRAP_GL_FUNC0(DebugMarker, PopGroupMarker, void)
482 ION_WRAP_GL_FUNC2(DebugMarker, PushGroupMarker, void, GLsizei, length,
483  const GLchar*, marker)
484 
485 // DebugOutput group.
486 ION_WRAP_GL_FUNC2(DebugOutput, DebugMessageCallback, void, GLDEBUGPROC,
487  callback, const void*, userParam)
488 ION_WRAP_GL_FUNC6(DebugOutput, DebugMessageControl, void, GLenum, source,
489  GLenum, type, GLenum, severity, GLsizei, count, GLuint*, ids,
490  GLboolean, enabled)
491 ION_WRAP_GL_FUNC6(DebugOutput, DebugMessageInsert, void, GLenum, source, GLenum,
492  type, GLuint, id, GLenum, severity, GLsizei, length,
493  const GLchar*, buf)
494 ION_WRAP_GL_FUNC8(DebugOutput, GetDebugMessageLog, GLuint, GLuint, count,
495  GLsizei, bufSize, GLenum*, sources, GLenum*, types, GLuint*,
496  ids, GLenum*, severities, GLsizei*, lengths, GLchar*,
497  messageLog)
498 ION_WRAP_GL_FUNC2(DebugOutput, GetPointerv, void, GLenum, pname, void**,
499  params)
500 
501 // FramebufferBlit group.
502 ION_WRAP_GL_FUNC10(FramebufferBlit, BlitFramebuffer, void, GLint, srcX0, GLint,
503  srcY0, GLint, srcX1, GLint, srcY1, GLint, dstX0, GLint,
504  dstY0, GLint, dstX1, GLint, dstY1, GLbitfield, mask, GLenum,
505  filter)
506 
507 // FramebufferMultisample group.
508 ION_WRAP_GL_FUNC5(FramebufferMultisample, RenderbufferStorageMultisample, void,
509  GLenum, target, GLsizei, samples, GLenum, internal_format,
510  GLsizei, width, GLsizei, height)
511 
512 // GpuShader4 group.
513 ION_WRAP_GL_FUNC3(GpuShader4, GetUniformuiv, void, GLuint, program, GLint,
514  location, GLuint*, params)
515 ION_WRAP_GL_FUNC2(GpuShader4, Uniform1ui, void, GLint, location, GLuint, v0)
516 ION_WRAP_GL_FUNC3(GpuShader4, Uniform1uiv, void, GLint, location, GLsizei,
517  count, const GLuint1*, value)
518 ION_WRAP_GL_FUNC3(GpuShader4, Uniform2ui, void, GLint, location, GLuint, v0,
519  GLuint, v1)
520 ION_WRAP_GL_FUNC3(GpuShader4, Uniform2uiv, void, GLint, location, GLsizei,
521  count, const GLuint2*, value)
522 ION_WRAP_GL_FUNC4(GpuShader4, Uniform3ui, void, GLint, location, GLuint, v0,
523  GLuint, v1, GLuint, v2)
524 ION_WRAP_GL_FUNC3(GpuShader4, Uniform3uiv, void, GLint, location, GLsizei,
525  count, const GLuint3*, value)
526 ION_WRAP_GL_FUNC5(GpuShader4, Uniform4ui, void, GLint, location, GLuint, v0,
527  GLuint, v1, GLuint, v2, GLuint, v3)
528 ION_WRAP_GL_FUNC3(GpuShader4, Uniform4uiv, void, GLint, location, GLsizei,
529  count, const GLuint4*, value)
530 // TODO(user): Add support for VertexAttribI*, GetVertexAttribI*,
531 // BindFragDataLocation, and GetFragDataLocation.
532 
533 // EglImage group.
534 ION_WRAP_GL_FUNC2(EglImage, EGLImageTargetTexture2DOES, void, GLenum, target,
535  void*, image)
536 ION_WRAP_GL_FUNC2(EglImage, EGLImageTargetRenderbufferStorageOES, void,
537  GLenum, target, void*, image)
538 
539 // GetString group.
540 ION_WRAP_GL_FUNC2(GetString, GetStringi, const GLubyte*, GLenum, name, GLuint,
541  index)
542 
543 // Instanced drawing group.
544 ION_WRAP_GL_FUNC4(InstancedDrawing, DrawArraysInstanced, void, GLenum, mode,
545  GLint, first, GLsizei, count, GLsizei, primCount)
546 ION_WRAP_GL_FUNC5(InstancedDrawing, DrawElementsInstanced, void, GLenum, mode,
547  GLsizei, count, GLenum, type, const GLvoid*, indices, GLsizei,
548  primCount)
549 ION_WRAP_GL_FUNC2(InstancedDrawing, VertexAttribDivisor, void, GLuint, index,
550  GLuint, divisor)
551 
552 // MapBuffer group.
553 ION_WRAP_GL_FUNC2(MapBuffer, MapBuffer, void*, GLenum, target, GLenum, access)
554 
555 // MapBufferBase group.
556 ION_WRAP_GL_FUNC3(MapBufferBase, GetBufferPointerv, void, GLenum, target,
557  GLenum, pname, GLvoid**, params)
558 ION_WRAP_GL_FUNC1(MapBufferBase, UnmapBuffer, void, GLenum, target)
559 
560 // MapBufferRange group.
561 ION_WRAP_GL_FUNC3(MapBufferRange, FlushMappedBufferRange, GLsync, GLenum,
562  target, GLintptr, offset, GLsizeiptr, length)
563 ION_WRAP_GL_FUNC4(MapBufferRange, MapBufferRange, void*, GLenum, target,
564  GLintptr, offset, GLsizeiptr, length, GLmapaccess, access)
565 
566 // CopyBufferSubData group.
567 ION_WRAP_GL_FUNC5(CopyBufferSubData, CopyBufferSubData,
568  void, GLenum, read_target, GLenum, write_target,
569  GLintptr, read_offset, GLintptr, write_offset,
570  GLsizeiptr, size)
571 
572 // MultisampleFramebufferResolve group.
574  MultisampleFramebufferResolve, ResolveMultisampleFramebuffer, void)
575 
576 // PointSize group.
577 ION_WRAP_GL_FUNC1(PointSize, PointSize, void, GLfloat, size)
578 
579 // SamplerObjects group.
580 ION_WRAP_GL_FUNC2(SamplerObjects, BindSampler, void, GLuint, unit, GLuint,
581  sampler)
582 ION_WRAP_GL_FUNC2(SamplerObjects, DeleteSamplers, void, GLsizei, n,
583  const GLuint*, samplers)
584 ION_WRAP_GL_FUNC2(SamplerObjects, GenSamplers, void, GLsizei, n, GLuint*,
585  samplers)
586 ION_WRAP_GL_FUNC3(SamplerObjects, GetSamplerParameterfv, void, GLuint, sampler,
587  GLenum, pname, GLfloat*, params)
588 ION_WRAP_GL_FUNC3(SamplerObjects, GetSamplerParameteriv, void, GLuint, sampler,
589  GLenum, pname, GLint*, params)
590 ION_WRAP_GL_FUNC1(SamplerObjects, IsSampler, GLboolean, GLuint, id)
591 ION_WRAP_GL_FUNC3(SamplerObjects, SamplerParameterf, void, GLuint, sampler,
592  GLenum, pname, GLfloat, param)
593 ION_WRAP_GL_FUNC3(SamplerObjects, SamplerParameterfv, void, GLuint, sampler,
594  GLenum, pname, const GLfloat*, params)
595 ION_WRAP_GL_FUNC3(SamplerObjects, SamplerParameteri, void, GLuint, sampler,
596  GLenum, pname, GLtextureenum, param)
597 ION_WRAP_GL_FUNC3(SamplerObjects, SamplerParameteriv, void, GLuint, sampler,
598  GLenum, pname, const GLint*, params)
599 
600 // Sync objects group.
601 ION_WRAP_GL_FUNC3(Sync, ClientWaitSync, GLenum, GLsync, sync, GLbitfield, flags,
602  GLuint64, timeout)
603 ION_WRAP_GL_FUNC1(Sync, DeleteSync, void, GLsync, sync)
604 ION_WRAP_GL_FUNC2(Sync, FenceSync, GLsync, GLenum, condition, GLbitfield,
605  flags)
606 ION_WRAP_GL_FUNC5(Sync, GetSynciv, void, GLsync, sync, GLenum, pname, GLsizei,
607  bufSize, GLsizei*, length, GLint*, values)
608 ION_WRAP_GL_FUNC3(Sync, WaitSync, void, GLsync, sync, GLbitfield, flags,
609  GLuint64, timeout)
610 
611 // Texture3d group.
612 ION_WRAP_GL_FUNC9(Texture3d, CompressedTexImage3D, void, GLenum, target, GLint,
613  level, GLenum, internal_format, GLsizei, width, GLsizei,
614  height, GLsizei, depth, GLint, border, GLsizei, image_size,
615  const GLvoid*, data)
616 ION_WRAP_GL_FUNC11(Texture3d, CompressedTexSubImage3D, void, GLenum, target,
617  GLint, level, GLint, xoffset, GLint, yoffset, GLint, zoffset,
618  GLsizei, width, GLsizei, height, GLsizei, depth, GLenum,
619  format, GLsizei, imageSize, const GLvoid*, data)
620 ION_WRAP_GL_FUNC9(Texture3d, CopyTexSubImage3D, void, GLenum, target, GLint,
621  level, GLint, xoffset, GLint, yoffset, GLint, zoffset, GLint,
622  x, GLint, y, GLsizei, width, GLsizei, height)
623 ION_WRAP_GL_FUNC10(Texture3d, TexImage3D, void, GLintenum, target, GLint, level,
624  GLenum, internal_format, GLsizei, width, GLsizei, height,
625  GLsizei, depth, GLint, border, GLenum, format, GLenum, type,
626  const GLvoid*, pixels)
627 ION_WRAP_GL_FUNC11(Texture3d, TexSubImage3D, void, GLenum, target, GLint, level,
628  GLint, xoffset, GLint, yoffset, GLint, zoffset, GLsizei,
629  width, GLsizei, height, GLsizei, depth, GLenum, format,
630  GLenum, type, const GLvoid*, data)
631 
632 // TextureMultisample group.
633 ION_WRAP_GL_FUNC6(TextureMultisample, TexImage2DMultisample, void, GLenum,
634  target, GLsizei, samples, GLenum, internal_format, GLsizei,
635  width, GLsizei, height, GLboolean, fixed_sample_locations)
636 ION_WRAP_GL_FUNC7(TextureMultisample, TexImage3DMultisample, void, GLenum,
637  target, GLsizei, samples, GLenum, internal_format, GLsizei,
638  width, GLsizei, height, GLsizei, depth, GLboolean,
639  fixed_sample_locations)
640 ION_WRAP_GL_FUNC3(TextureMultisample, GetMultisamplefv, void, GLenum, pname,
641  GLuint, index, GLfloat*, val)
642 ION_WRAP_GL_FUNC2(TextureMultisample, SampleMaski, void, GLuint, index,
643  GLbitfield, mask)
644 
645 // TextureStorage group.
646 ION_WRAP_GL_FUNC5(TextureStorage, TexStorage2D, void, GLenum, target, GLsizei,
647  levels, GLenum, internalformat, GLsizei, width, GLsizei,
648  height)
649 ION_WRAP_GL_FUNC6(TextureStorage, TexStorage3D, void, GLenum, target, GLsizei,
650  levels, GLenum, internalformat, GLsizei, width, GLsizei,
651  height, GLsizei, depth)
652 
653 // TextureStorageMultisample group.
654 ION_WRAP_GL_FUNC6(TextureStorageMultisample, TexStorage2DMultisample, void,
655  GLenum, target, GLsizei, samples, GLenum, internal_format,
656  GLsizei, width, GLsizei, height, GLboolean,
657  fixed_sample_locations)
658 ION_WRAP_GL_FUNC7(TextureStorageMultisample, TexStorage3DMultisample, void,
659  GLenum, target, GLsizei, samples, GLenum, internal_format,
660  GLsizei, width, GLsizei, height, GLsizei, depth, GLboolean,
661  fixed_sample_locations)
662 
663 // TransformFeedback group.
664 ION_WRAP_GL_FUNC1(TransformFeedback, BeginTransformFeedback, void, GLenum,
665  primitive_mode)
666 ION_WRAP_GL_FUNC2(TransformFeedback, BindTransformFeedback, void, GLenum,
667  target, GLuint, id)
668 ION_WRAP_GL_FUNC2(TransformFeedback, DeleteTransformFeedbacks, void, GLsizei, n,
669  const GLuint*, ids)
670 ION_WRAP_GL_FUNC0(TransformFeedback, EndTransformFeedback, void)
671 ION_WRAP_GL_FUNC2(TransformFeedback, GenTransformFeedbacks, void, GLsizei, n,
672  GLuint*, ids)
673 ION_WRAP_GL_FUNC7(TransformFeedback, GetTransformFeedbackVarying, void, GLuint,
674  program, GLuint, index, GLsizei, buf_size, GLsizei*, length,
675  GLsizei*, size, GLenum*, type, GLchar*, name)
676 ION_WRAP_GL_FUNC1(TransformFeedback, IsTransformFeedback, GLboolean, GLuint,
677  id)
678 ION_WRAP_GL_FUNC0(TransformFeedback, PauseTransformFeedback, void)
679 ION_WRAP_GL_FUNC0(TransformFeedback, ResumeTransformFeedback, void)
680 ION_WRAP_GL_FUNC4(TransformFeedback, TransformFeedbackVaryings, void, GLuint,
681  program, GLsizei, count, const GLchar**, varyings, GLenum,
682  buffer_mode)
683 
684 // VertexArrays group.
685 ION_WRAP_GL_FUNC1(VertexArrays, BindVertexArray, void, GLuint, array)
686 ION_WRAP_GL_FUNC2(VertexArrays, DeleteVertexArrays, void, GLsizei, n,
687  const GLuint*, arrays)
688 ION_WRAP_GL_FUNC2(VertexArrays, GenVertexArrays, void, GLsizei, n, GLuint*,
689  arrays)
690 ION_WRAP_GL_FUNC1(VertexArrays, IsVertexArray, GLboolean, GLuint, array)
691 
692 // Raw group. These functions only have basic Ion support.
693 ION_WRAP_GL_FUNC2(Raw, GetInteger64v, void, GLenum, pname, GLint64*, params)
694 ION_WRAP_GL_FUNC3(Raw, TexBuffer, void, GLintenum, target, GLenum,
695  internal_format, GLint, buffer)
696 // Raw group. Timer queries.
697 ION_WRAP_GL_FUNC2(Raw, BeginQuery, void, GLenum, target, GLuint, id)
698 ION_WRAP_GL_FUNC2(Raw, DeleteQueries, void, GLsizei, n, const GLuint*, ids)
699 ION_WRAP_GL_FUNC1(Raw, EndQuery, void, GLenum, target)
700 ION_WRAP_GL_FUNC2(Raw, GenQueries, void, GLsizei, n, GLuint*, ids)
701 ION_WRAP_GL_FUNC3(Raw, GetQueryiv, void, GLenum, target, GLenum, pname,
702  GLint*, params)
703 ION_WRAP_GL_FUNC3(Raw, GetQueryObjecti64v, void, GLuint, id, GLenum, pname,
704  GLint64*, params)
705 ION_WRAP_GL_FUNC3(Raw, GetQueryObjectiv, void, GLuint, id, GLenum, pname,
706  GLint*, params)
707 ION_WRAP_GL_FUNC3(Raw, GetQueryObjectui64v, void, GLuint, id, GLenum, pname,
708  GLuint64*, params)
709 ION_WRAP_GL_FUNC3(Raw, GetQueryObjectuiv, void, GLuint, id, GLenum, pname,
710  GLuint*, params)
711 ION_WRAP_GL_FUNC1(Raw, IsQuery, GLboolean, GLuint, id)
712 ION_WRAP_GL_FUNC2(Raw, QueryCounter, void, GLuint, id, GLenum, target)
713 
714 #undef ION_TRACE_ARG
715 #undef ION_WRAP_GL_FUNC
716 #undef ION_WRAP_GL_FUNC0
717 #undef ION_WRAP_GL_FUNC1
718 #undef ION_WRAP_GL_FUNC2
719 #undef ION_WRAP_GL_FUNC3
720 #undef ION_WRAP_GL_FUNC4
721 #undef ION_WRAP_GL_FUNC5
722 #undef ION_WRAP_GL_FUNC6
723 #undef ION_WRAP_GL_FUNC7
724 #undef ION_WRAP_GL_FUNC8
725 #undef ION_WRAP_GL_FUNC9
726 #undef ION_WRAP_GL_FUNC10
727 #undef ION_WRAP_GL_FUNC11
728 #undef ION_WRAP_GL_FUNC12
729 
730 #endif // ION_GFX_GLFUNCTIONS_H_
731 
732 // Allow this file to be included again.
733 #undef ION_GFX_GLFUNCTIONS_H_
int64_t GLint64
Definition: glheaders.h:130
std::string buffer
int level
std::string type
Definition: printer.cc:353
#define ION_WRAP_GL_FUNC9(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5,t6, a6, t7, a7, t8, a8, t9, a9)
#define ION_WRAP_GL_FUNC4(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4)
#define ION_WRAP_GL_FUNC8(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5,t6, a6, t7, a7, t8, a8)
double value
struct __GLsync * GLsync
Definition: glheaders.h:132
uint32 offset
#define ION_WRAP_GL_FUNC5(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5)
uint32 length
uint64_t GLuint64
Definition: glheaders.h:131
std::string label
Definition: printer.cc:354
#define ION_WRAP_GL_FUNC1(group, name, return_type, t1, a1)
#define ION_WRAP_GL_FUNC10(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5,t6, a6, t7, a7, t8, a8, t9, a9, t10, a10)
#define ION_WRAP_GL_FUNC0(group, name, return_type)
const void * pointer
Definition: printer.cc:111
std::string name
Definition: printer.cc:324
#define ION_WRAP_GL_FUNC7(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5,t6, a6, t7, a7)
const Grid & image
The original monochrome image data, as doubles (0 - 1).
Definition: sdfutils.cc:90
#define ION_WRAP_GL_FUNC2(group, name, return_type,t1, a1, t2, a2)
int width
#define ION_WRAP_GL_FUNC6(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6)
TexturePtr texture
The Texture to add sub-image data to.
Definition: fontimage.cc:107
int precision
#define ION_WRAP_GL_FUNC3(group, name, return_type,t1, a1, t2, a2, t3, a3)
#define ION_WRAP_GL_FUNC11(group, name, return_type,t1, a1, t2, a2, t3, a3, t4, a4, t5, a5,t6, a6, t7, a7, t8, a8, t9, a9, t10, a10,t11, a11)