d84a8b6182ef8796e1fc29dcc8c50c6125ffc123
[iec.git] / src / type3_AndroidCloud / anbox-master / external / android-emugl / host / libs / GLESv2_dec / gles2.attrib
1 GLOBAL
2         base_opcode 2048
3         encoder_headers <string.h> "glUtils.h" "GL2EncoderUtils.h"
4
5 #void glBindAttribLocation(GLuint program, GLuint index, GLchar *name)
6 glBindAttribLocation
7         len name (strlen(name) + 1)
8
9 #void glBufferData(GLenum target, GLsizeiptr size, GLvoid *data, GLenum usage)
10 glBufferData
11         len data size
12         var_flag data nullAllowed isLarge
13
14 #void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
15 glBufferSubData
16         len data size
17         var_flag data nullAllowed isLarge
18
19 #void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLvoid *data)
20 glCompressedTexImage2D
21         len data imageSize
22     var_flag data nullAllowed isLarge
23
24 #void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLvoid *data)
25 glCompressedTexSubImage2D
26         len data imageSize
27         var_flag data nullAllowed isLarge
28
29 #void glDeleteBuffers(GLsizei n, GLuint *buffers)
30 glDeleteBuffers
31         len buffers (n * sizeof(GLuint))
32     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
33
34 #void glDeleteFramebuffers(GLsizei n, GLuint *framebuffers)
35 glDeleteFramebuffers
36         len framebuffers (n * sizeof(GLuint))
37     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
38
39 #void glDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers)
40 glDeleteRenderbuffers
41         len renderbuffers (n * sizeof(GLuint))
42     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
43
44 #void glDeleteTextures(GLsizei n, GLuint *textures)
45 glDeleteTextures
46         len textures (n * sizeof(GLuint))
47     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
48
49 #void glDrawElements(GLenum mode, GLsizei count, GLenum type, GLvoid *indices)
50 glDrawElements
51         flag unsupported
52
53 #void glGenBuffers(GLsizei n, GLuint *buffers)
54 glGenBuffers
55         len buffers (n * sizeof(GLuint))
56         dir buffers out
57     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
58
59 #void glGenFramebuffers(GLsizei n, GLuint *framebuffers)
60 glGenFramebuffers
61         len framebuffers (n * sizeof(GLuint))
62         dir framebuffers out
63     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
64
65 #void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
66 glGenRenderbuffers
67         len renderbuffers (n * sizeof(GLuint))
68         dir renderbuffers out
69     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
70
71 #void glGenTextures(GLsizei n, GLuint *textures)
72 glGenTextures
73         len textures (n * sizeof(GLuint))
74         dir textures out
75     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
76
77 #void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
78 glGetActiveAttrib
79         len name bufsize
80         dir name out
81         var_flag name nullAllowed
82         dir length out
83         len length (sizeof(GLsizei))
84         var_flag length nullAllowed
85         dir size out
86         len size (sizeof(GLint))
87         var_flag size nullAllowed
88         dir type out
89         len type (sizeof(GLenum))
90         var_flag type nullAllowed
91         
92 #void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)
93 glGetActiveUniform
94         len name bufsize
95         dir name out
96           var_flag name nullAllowed
97         dir length out
98         len length (sizeof(GLsizei))
99         var_flag length nullAllowed
100         dir size out
101         len size (sizeof(GLint))
102         var_flag size nullAllowed
103         dir type out
104         len type (sizeof(GLenum))
105         var_flag type nullAllowed
106
107
108 #void glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders)
109 glGetAttachedShaders
110         len shaders (maxcount*sizeof(GLuint))
111         dir shaders out
112         dir count out
113         var_flag count nullAllowed
114         len count (sizeof(GLsizei))
115
116 #int glGetAttribLocation(GLuint program, GLchar *name)
117 glGetAttribLocation
118         len name (strlen(name) + 1)
119
120 #void glGetBooleanv(GLenum pname, GLboolean *params)
121 glGetBooleanv
122         dir params out
123         len params (glUtilsParamSize(pname) * sizeof(GLboolean))
124
125 #void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
126 glGetBufferParameteriv
127         len params (sizeof(GLint))
128         dir params out
129
130 #void glGetFloatv(GLenum pname, GLfloat *params)
131 glGetFloatv
132         dir params out
133         len params (glUtilsParamSize(pname) * sizeof(GLfloat))
134
135 #void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
136 glGetFramebufferAttachmentParameteriv
137         dir params out
138         len params (sizeof(GLint))
139
140 #void glGetIntegerv(GLenum pname, GLint *params)
141 glGetIntegerv
142         dir params out
143         len params (glUtilsParamSize(pname) * sizeof(GLint))
144
145 #void glGetProgramiv(GLuint program, GLenum pname, GLint *params)
146 glGetProgramiv
147         dir params out
148         len params sizeof(GLint)
149 #XXX - might change if extension constants that return more then one value
150
151
152 #void glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei *length, GLchar *infolog)
153 glGetProgramInfoLog
154         dir infolog out
155         len infolog bufsize
156         dir length out
157         len length sizeof(GLsizei)
158         var_flag length nullAllowed
159
160 #void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
161 glGetRenderbufferParameteriv
162         dir params out
163         len params sizeof(GLint)
164 # XXX - might change if pname with value larger then one is added
165
166 #void glGetShaderiv(GLuint shader, GLenum pname, GLint *params)
167 glGetShaderiv
168         dir params out
169         len params sizeof(GLint)
170 # XXX - might change if pname with value larger then one is added
171
172 #void glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *infolog)
173 glGetShaderInfoLog
174         dir length out
175         len length (sizeof(GLsizei))
176         var_flag length nullAllowed
177         dir infolog out
178         len infolog bufsize
179         
180
181 #void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
182 glGetShaderPrecisionFormat
183         dir range out
184         len range (2 * sizeof(GLint))
185         dir precision out
186         len precision (sizeof(GLint))
187
188 #void glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source)
189 glGetShaderSource
190         dir length out
191         len length (sizeof(GLsizei))
192         var_flag length nullAllowed
193         dir source out
194         len source bufsize
195
196 #GLubyte* glGetString(GLenum name)
197 glGetString
198         flag unsupported
199
200 #void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
201 glGetTexParameterfv
202         dir params out
203         len params (glUtilsParamSize(pname) * sizeof(GLfloat))
204
205 #void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params)
206 glGetTexParameteriv
207         dir params out
208         len params (glUtilsParamSize(pname) * sizeof(GLint))
209
210 #void glGetUniformfv(GLuint program, GLint location, GLfloat *params)
211 glGetUniformfv
212         dir params out
213         len params glSizeof(glesv2_enc::uniformType(self, program, location))
214
215 #void glGetUniformiv(GLuint program, GLint location, GLint *params)
216 glGetUniformiv
217         dir params out
218         len params glSizeof(glesv2_enc::uniformType(self, program, location))
219
220 #int glGetUniformLocation(GLuint program, GLchar *name)
221 glGetUniformLocation
222         len name (strlen(name) + 1)
223
224 # client-state shall be handled locally by the encoder in most cases.
225 # however, GL_CURRENT_VERTEX_ATTRIB and potential others are handled by the server side,
226 # thus we still need to implement it. 
227 #void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params)
228 glGetVertexAttribfv
229         dir params out
230         len params (glUtilsParamSize(pname) * sizeof(GLfloat))
231
232 #see glGetVertexAttribfv for comments
233 #void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
234 glGetVertexAttribiv
235         dir params out
236         len params (glUtilsParamSize(pname) * sizeof(GLint))
237
238
239
240 #void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
241 glReadPixels
242         dir pixels out
243         len pixels glesv2_enc::pixelDataSize(self, width, height, format, type, 1)
244
245 #void glShaderBinary(GLsizei n, GLuint *shaders, GLenum binaryformat, GLvoid *binary, GLsizei length)
246 glShaderBinary
247         flag unsupported
248
249 #void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLvoid *pixels)
250 glTexImage2D
251         dir pixels in
252         len pixels glesv2_enc::pixelDataSize(self, width, height, format, type, 0)
253         var_flag pixels nullAllowed isLarge
254
255 #void glTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
256 glTexParameterfv
257         len params (glUtilsParamSize(pname) * sizeof(GLfloat))
258 #void glTexParameteriv(GLenum target, GLenum pname, GLint *params)
259 glTexParameteriv
260         len params (glUtilsParamSize(pname) * sizeof(GLint))
261
262 #void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
263 glTexSubImage2D
264         len pixels glesv2_enc::pixelDataSize(self, width, height, format, type, 0)
265         var_flag pixels nullAllowed isLarge
266         
267 #void glUniform1fv(GLint location, GLsizei count, GLfloat *v)
268 glUniform1fv
269         len v (count * sizeof(GLfloat))
270
271 #void glUniform1iv(GLint location, GLsizei count, GLint *v)
272 glUniform1iv
273         len v (count * sizeof(GLint))
274
275 #void glUniform2fv(GLint location, GLsizei count, GLfloat *v)
276 glUniform2fv
277         len v (count * 2 * sizeof(GLfloat))
278
279 #void glUniform2iv(GLint location, GLsizei count, GLint *v)
280 glUniform2iv
281         len v (count * 2 * sizeof(GLint))
282
283 #void glUniform3fv(GLint location, GLsizei count, GLfloat *v)
284 glUniform3fv
285         len v (count * 3 * sizeof(GLfloat))
286
287 #void glUniform3iv(GLint location, GLsizei count, GLint *v)
288 glUniform3iv
289         len v (3 * count * sizeof(GLint))
290
291 #void glUniform4fv(GLint location, GLsizei count, GLfloat *v)
292 glUniform4fv
293         len v (4 * count * sizeof(GLfloat))
294
295 #void glUniform4iv(GLint location, GLsizei count, GLint *v)
296 glUniform4iv
297         len v (4 * count * sizeof(GLint))
298
299 #void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, GLfloat *value)
300 glUniformMatrix2fv
301         len value (count * 4 * sizeof(GLfloat))
302
303 #void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, GLfloat *value)
304 glUniformMatrix3fv
305         len value (count * 9 * sizeof(GLfloat))
306         
307 #void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, GLfloat *value)
308 glUniformMatrix4fv
309         len value (count * 16 * sizeof(GLfloat))
310
311 #void glVertexAttrib1fv(GLuint indx, GLfloat *values)
312 glVertexAttrib1fv
313         len values (sizeof(GLfloat))
314 #void glVertexAttrib2fv(GLuint indx, GLfloat *values)
315 glVertexAttrib2fv
316         len values (2 * sizeof(GLfloat))
317
318 #void glVertexAttrib3fv(GLuint indx, GLfloat *values)
319 glVertexAttrib3fv
320         len values (3 * sizeof(GLfloat))
321
322 #void glVertexAttrib4fv(GLuint indx, GLfloat *values)
323 glVertexAttrib4fv
324         len values (4 * sizeof(GLfloat))
325
326 #void glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLvoid *ptr)
327 glVertexAttribPointer
328         flag unsupported
329
330 #void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
331 glGetProgramBinaryOES
332         flag unsupported
333
334 #void glProgramBinaryOES(GLuint program, GLenum binaryFormat, GLvoid *binary, GLint length)
335 glProgramBinaryOES
336         flag unsupported
337
338 #void* glMapBufferOES(GLenum target, GLenum access)
339 glMapBufferOES
340         flag unsupported
341
342 #void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid *pixels)
343 glTexImage3DOES
344         len pixels glesv2_enc::pixelDataSize3D(self, width, height, depth, format, type, 0)
345         var_flag pixels nullAllowed isLarge
346
347 #void glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *pixels)
348 glTexSubImage3DOES
349         len pixels glesv2_enc::pixelDataSize3D(self, width, height, depth, format, type, 0)     
350         var_flag pixels nullAllowed isLarge
351
352 #void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLvoid *data)
353 glCompressedTexImage3DOES
354         len data imageSize
355         var_flag data nullAllowed isLarge
356
357 #void glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLvoid *data)
358 glCompressedTexSubImage3DOES
359         len data imageSize
360         var_flag data nullAllowed isLarge
361
362 #void glDeleteVertexArraysOES(GLsizei n, GLuint *arrays)
363 glDeleteVertexArraysOES
364         len arrays (n * sizeof(GLuint))
365     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
366
367 #void glGenVertexArraysOES(GLsizei n, GLuint *arrays)
368 glGenVertexArraysOES
369         len arrays (n * sizeof(GLuint))
370         dir arrays out
371     param_check n if(n<0){ ctx->setError(GL_INVALID_VALUE); return; } 
372
373
374 #void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, GLenum *attachments)
375 glDiscardFramebufferEXT
376         len attachments (numAttachments * sizeof(GLenum))
377
378 #void glMultiDrawArraysEXT(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
379 glMultiDrawArraysEXT
380         flag unsupported
381 #void glMultiDrawElementsEXT(GLenum mode, GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount)
382 glMultiDrawElementsEXT
383         flag unsupported
384
385
386 # handled by encoder
387 #void glShaderSource(GLuint shader, GLsizei count, GLstr *string, const GLint *length)
388 glShaderSource
389         flag unsupported
390
391
392
393 #void glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups)
394 glGetPerfMonitorGroupsAMD
395         flag unsupported
396
397 #void glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)
398 glGetPerfMonitorCountersAMD
399         flag unsupported
400
401 #void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString)
402 glGetPerfMonitorGroupStringAMD
403         flag unsupported
404
405 #void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString)
406 glGetPerfMonitorCounterStringAMD
407         flag unsupported
408
409 #void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data)
410 glGetPerfMonitorCounterInfoAMD
411         flag unsupported
412
413 #void glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors)
414 glGenPerfMonitorsAMD
415         flag unsupported
416
417 #void glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors)
418 glDeletePerfMonitorsAMD
419         flag unsupported
420
421 #void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList)
422 glSelectPerfMonitorCountersAMD
423         flag unsupported
424
425 #void glBeginPerfMonitorAMD(GLuint monitor)
426 glBeginPerfMonitorAMD
427         flag unsupported
428
429 #void glEndPerfMonitorAMD(GLuint monitor)
430 glEndPerfMonitorAMD
431         flag unsupported
432
433 #void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)
434 glGetPerfMonitorCounterDataAMD
435         flag unsupported
436
437 #void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
438 glRenderbufferStorageMultisampleIMG
439         flag unsupported
440
441 #void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
442 glFramebufferTexture2DMultisampleIMG
443         flag unsupported
444
445 #void glDeleteFencesNV(GLsizei n, GLuint *fences)
446 glDeleteFencesNV
447         flag unsupported
448
449 #void glGenFencesNV(GLsizei n, GLuint *fences)
450 glGenFencesNV
451         flag unsupported
452
453 #GLboolean glIsFenceNV(GLuint fence)
454 glIsFenceNV
455         flag unsupported
456
457 #GLboolean glTestFenceNV(GLuint fence)
458 glTestFenceNV
459         flag unsupported
460
461 #void glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)
462 glGetFenceivNV
463         flag unsupported
464
465 #void glFinishFenceNV(GLuint fence)
466 glFinishFenceNV
467         flag unsupported
468
469 #void glSetFenceNV(GLuint fence, GLenum condition)
470 glSetFenceNV
471         flag unsupported
472
473 #void glCoverageMaskNV(GLboolean mask)
474 glCoverageMaskNV
475         flag unsupported
476
477 #void glCoverageOperationNV(GLenum operation)
478 glCoverageOperationNV
479         flag unsupported
480
481 #void glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls)
482 glGetDriverControlsQCOM
483         flag unsupported
484
485 #void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString)
486 glGetDriverControlStringQCOM
487         flag unsupported
488
489 #void glEnableDriverControlQCOM(GLuint driverControl)
490 glEnableDriverControlQCOM
491         flag unsupported
492
493 #void glDisableDriverControlQCOM(GLuint driverControl)
494 glDisableDriverControlQCOM
495         flag unsupported
496
497 #void glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures)
498 glExtGetTexturesQCOM
499         flag unsupported
500
501 #void glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers)
502 glExtGetBuffersQCOM
503         flag unsupported
504
505 #void glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers)
506 glExtGetRenderbuffersQCOM
507         flag unsupported
508
509 #void glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers)
510 glExtGetFramebuffersQCOM
511         flag unsupported
512
513 #void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params)
514 glExtGetTexLevelParameterivQCOM
515         flag unsupported
516
517 #void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param)
518 glExtTexObjectStateOverrideiQCOM
519         flag unsupported
520
521 #void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels)
522 glExtGetTexSubImageQCOM
523         flag unsupported
524
525 #void glExtGetBufferPointervQCOM(GLenum target, GLvoidptr *params)
526 glExtGetBufferPointervQCOM
527         flag unsupported
528
529 #void glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders)
530 glExtGetShadersQCOM
531         flag unsupported
532
533 #void glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms)
534 glExtGetProgramsQCOM
535         flag unsupported
536
537 #GLboolean glExtIsProgramBinaryQCOM(GLuint program)
538 glExtIsProgramBinaryQCOM
539         flag unsupported
540
541 #void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length)
542 glExtGetProgramBinarySourceQCOM
543         flag unsupported
544
545 #void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
546 glStartTilingQCOM
547         flag unsupported
548
549 #void glEndTilingQCOM(GLbitfield preserveMask)
550 glEndTilingQCOM
551         flag unsupported
552
553
554 #void glVertexAttribPointerData(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride,  void * data, GLuint datalen)
555 glVertexAttribPointerData
556         len data datalen
557         custom_pack data glUtilsPackPointerData((unsigned char *)ptr, (unsigned char *)data, size, type, stride, datalen) 
558         flag custom_decoder
559         flag not_api
560
561 glVertexAttribPointerOffset
562         flag custom_decoder
563         flag not_api
564
565 #client-state, handled by the encoder
566 #GL_ENTRY(void, glGetVertexAttribPointerv, GLuint index, GLenum pname, GLvoid** pointer)
567 glGetVertexAttribPointerv
568         flag unsupported
569
570 glDrawElementsData
571         len data datalen
572         flag custom_decoder
573         flag not_api
574
575 glDrawElementsOffset
576         flag custom_decoder
577         flag not_api
578
579 #GL_ENTRY(void, glGetCompressedTextureFormats, int count, GLint *formats)
580 glGetCompressedTextureFormats
581         dir formats out
582         len formats (count * sizeof(GLint))
583         flag custom_decoder
584         flag not_api
585
586 #GL_ENTRY(void, glShaderString, GLuint shader, GLchar *string, GLsizei len)
587 glShaderString
588         len string len
589         flag custom_decoder
590         flag not_api
591         
592 glFinishRoundTrip
593         flag custom_decoder
594         flag not_api
595