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