1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * 4 * Generated from Khronos GL API description (gl.xml) revision d8371b44919d61c02e60f446a4b5461fda910f71. 5 */ 6 7void glwActiveShaderProgram (GLuint pipeline, GLuint program) 8{ 9 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 10 if (!gl) 11 return; 12 gl->activeShaderProgram(pipeline, program); 13} 14 15void glwActiveTexture (GLenum texture) 16{ 17 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 18 if (!gl) 19 return; 20 gl->activeTexture(texture); 21} 22 23void glwAttachShader (GLuint program, GLuint shader) 24{ 25 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 26 if (!gl) 27 return; 28 gl->attachShader(program, shader); 29} 30 31void glwBeginConditionalRender (GLuint id, GLenum mode) 32{ 33 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 34 if (!gl) 35 return; 36 gl->beginConditionalRender(id, mode); 37} 38 39void glwBeginQuery (GLenum target, GLuint id) 40{ 41 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 42 if (!gl) 43 return; 44 gl->beginQuery(target, id); 45} 46 47void glwBeginQueryIndexed (GLenum target, GLuint index, GLuint id) 48{ 49 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 50 if (!gl) 51 return; 52 gl->beginQueryIndexed(target, index, id); 53} 54 55void glwBeginTransformFeedback (GLenum primitiveMode) 56{ 57 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 58 if (!gl) 59 return; 60 gl->beginTransformFeedback(primitiveMode); 61} 62 63void glwBindAttribLocation (GLuint program, GLuint index, const GLchar *name) 64{ 65 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 66 if (!gl) 67 return; 68 gl->bindAttribLocation(program, index, name); 69} 70 71void glwBindBuffer (GLenum target, GLuint buffer) 72{ 73 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 74 if (!gl) 75 return; 76 gl->bindBuffer(target, buffer); 77} 78 79void glwBindBufferBase (GLenum target, GLuint index, GLuint buffer) 80{ 81 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 82 if (!gl) 83 return; 84 gl->bindBufferBase(target, index, buffer); 85} 86 87void glwBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) 88{ 89 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 90 if (!gl) 91 return; 92 gl->bindBufferRange(target, index, buffer, offset, size); 93} 94 95void glwBindBuffersBase (GLenum target, GLuint first, GLsizei count, const GLuint *buffers) 96{ 97 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 98 if (!gl) 99 return; 100 gl->bindBuffersBase(target, first, count, buffers); 101} 102 103void glwBindBuffersRange (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes) 104{ 105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 106 if (!gl) 107 return; 108 gl->bindBuffersRange(target, first, count, buffers, offsets, sizes); 109} 110 111void glwBindFragDataLocation (GLuint program, GLuint color, const GLchar *name) 112{ 113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 114 if (!gl) 115 return; 116 gl->bindFragDataLocation(program, color, name); 117} 118 119void glwBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) 120{ 121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 122 if (!gl) 123 return; 124 gl->bindFragDataLocationIndexed(program, colorNumber, index, name); 125} 126 127void glwBindFramebuffer (GLenum target, GLuint framebuffer) 128{ 129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 130 if (!gl) 131 return; 132 gl->bindFramebuffer(target, framebuffer); 133} 134 135void glwBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) 136{ 137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 138 if (!gl) 139 return; 140 gl->bindImageTexture(unit, texture, level, layered, layer, access, format); 141} 142 143void glwBindImageTextures (GLuint first, GLsizei count, const GLuint *textures) 144{ 145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 146 if (!gl) 147 return; 148 gl->bindImageTextures(first, count, textures); 149} 150 151void glwBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture) 152{ 153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 154 if (!gl) 155 return; 156 gl->bindMultiTextureEXT(texunit, target, texture); 157} 158 159void glwBindProgramPipeline (GLuint pipeline) 160{ 161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 162 if (!gl) 163 return; 164 gl->bindProgramPipeline(pipeline); 165} 166 167void glwBindRenderbuffer (GLenum target, GLuint renderbuffer) 168{ 169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 170 if (!gl) 171 return; 172 gl->bindRenderbuffer(target, renderbuffer); 173} 174 175void glwBindSampler (GLuint unit, GLuint sampler) 176{ 177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 178 if (!gl) 179 return; 180 gl->bindSampler(unit, sampler); 181} 182 183void glwBindSamplers (GLuint first, GLsizei count, const GLuint *samplers) 184{ 185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 186 if (!gl) 187 return; 188 gl->bindSamplers(first, count, samplers); 189} 190 191void glwBindTexture (GLenum target, GLuint texture) 192{ 193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 194 if (!gl) 195 return; 196 gl->bindTexture(target, texture); 197} 198 199void glwBindTextureUnit (GLuint unit, GLuint texture) 200{ 201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 202 if (!gl) 203 return; 204 gl->bindTextureUnit(unit, texture); 205} 206 207void glwBindTextures (GLuint first, GLsizei count, const GLuint *textures) 208{ 209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 210 if (!gl) 211 return; 212 gl->bindTextures(first, count, textures); 213} 214 215void glwBindTransformFeedback (GLenum target, GLuint id) 216{ 217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 218 if (!gl) 219 return; 220 gl->bindTransformFeedback(target, id); 221} 222 223void glwBindVertexArray (GLuint array) 224{ 225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 226 if (!gl) 227 return; 228 gl->bindVertexArray(array); 229} 230 231void glwBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) 232{ 233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 234 if (!gl) 235 return; 236 gl->bindVertexBuffer(bindingindex, buffer, offset, stride); 237} 238 239void glwBindVertexBuffers (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) 240{ 241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 242 if (!gl) 243 return; 244 gl->bindVertexBuffers(first, count, buffers, offsets, strides); 245} 246 247void glwBlendBarrier (void) 248{ 249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 250 if (!gl) 251 return; 252 gl->blendBarrier(); 253} 254 255void glwBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 256{ 257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 258 if (!gl) 259 return; 260 gl->blendColor(red, green, blue, alpha); 261} 262 263void glwBlendEquation (GLenum mode) 264{ 265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 266 if (!gl) 267 return; 268 gl->blendEquation(mode); 269} 270 271void glwBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha) 272{ 273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 274 if (!gl) 275 return; 276 gl->blendEquationSeparate(modeRGB, modeAlpha); 277} 278 279void glwBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha) 280{ 281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 282 if (!gl) 283 return; 284 gl->blendEquationSeparatei(buf, modeRGB, modeAlpha); 285} 286 287void glwBlendEquationi (GLuint buf, GLenum mode) 288{ 289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 290 if (!gl) 291 return; 292 gl->blendEquationi(buf, mode); 293} 294 295void glwBlendFunc (GLenum sfactor, GLenum dfactor) 296{ 297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 298 if (!gl) 299 return; 300 gl->blendFunc(sfactor, dfactor); 301} 302 303void glwBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) 304{ 305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 306 if (!gl) 307 return; 308 gl->blendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); 309} 310 311void glwBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) 312{ 313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 314 if (!gl) 315 return; 316 gl->blendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); 317} 318 319void glwBlendFunci (GLuint buf, GLenum src, GLenum dst) 320{ 321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 322 if (!gl) 323 return; 324 gl->blendFunci(buf, src, dst); 325} 326 327void glwBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 328{ 329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 330 if (!gl) 331 return; 332 gl->blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 333} 334 335void glwBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 336{ 337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 338 if (!gl) 339 return; 340 gl->blitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 341} 342 343void glwBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage) 344{ 345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 346 if (!gl) 347 return; 348 gl->bufferData(target, size, data, usage); 349} 350 351void glwBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit) 352{ 353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 354 if (!gl) 355 return; 356 gl->bufferPageCommitmentARB(target, offset, size, commit); 357} 358 359void glwBufferStorage (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags) 360{ 361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 362 if (!gl) 363 return; 364 gl->bufferStorage(target, size, data, flags); 365} 366 367void glwBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data) 368{ 369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 370 if (!gl) 371 return; 372 gl->bufferSubData(target, offset, size, data); 373} 374 375GLenum glwCheckFramebufferStatus (GLenum target) 376{ 377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 378 if (!gl) 379 return (GLenum)0; 380 return gl->checkFramebufferStatus(target); 381} 382 383GLenum glwCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target) 384{ 385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 386 if (!gl) 387 return (GLenum)0; 388 return gl->checkNamedFramebufferStatus(framebuffer, target); 389} 390 391GLenum glwCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target) 392{ 393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 394 if (!gl) 395 return (GLenum)0; 396 return gl->checkNamedFramebufferStatusEXT(framebuffer, target); 397} 398 399void glwClampColor (GLenum target, GLenum clamp) 400{ 401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 402 if (!gl) 403 return; 404 gl->clampColor(target, clamp); 405} 406 407void glwClear (GLbitfield mask) 408{ 409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 410 if (!gl) 411 return; 412 gl->clear(mask); 413} 414 415void glwClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) 416{ 417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 418 if (!gl) 419 return; 420 gl->clearBufferData(target, internalformat, format, type, data); 421} 422 423void glwClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) 424{ 425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 426 if (!gl) 427 return; 428 gl->clearBufferSubData(target, internalformat, offset, size, format, type, data); 429} 430 431void glwClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) 432{ 433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 434 if (!gl) 435 return; 436 gl->clearBufferfi(buffer, drawbuffer, depth, stencil); 437} 438 439void glwClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value) 440{ 441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 442 if (!gl) 443 return; 444 gl->clearBufferfv(buffer, drawbuffer, value); 445} 446 447void glwClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value) 448{ 449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 450 if (!gl) 451 return; 452 gl->clearBufferiv(buffer, drawbuffer, value); 453} 454 455void glwClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value) 456{ 457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 458 if (!gl) 459 return; 460 gl->clearBufferuiv(buffer, drawbuffer, value); 461} 462 463void glwClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) 464{ 465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 466 if (!gl) 467 return; 468 gl->clearColor(red, green, blue, alpha); 469} 470 471void glwClearDepth (GLdouble depth) 472{ 473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 474 if (!gl) 475 return; 476 gl->clearDepth(depth); 477} 478 479void glwClearDepthf (GLfloat d) 480{ 481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 482 if (!gl) 483 return; 484 gl->clearDepthf(d); 485} 486 487void glwClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data) 488{ 489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 490 if (!gl) 491 return; 492 gl->clearNamedBufferData(buffer, internalformat, format, type, data); 493} 494 495void glwClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data) 496{ 497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 498 if (!gl) 499 return; 500 gl->clearNamedBufferDataEXT(buffer, internalformat, format, type, data); 501} 502 503void glwClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) 504{ 505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 506 if (!gl) 507 return; 508 gl->clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); 509} 510 511void glwClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) 512{ 513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 514 if (!gl) 515 return; 516 gl->clearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data); 517} 518 519void glwClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) 520{ 521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 522 if (!gl) 523 return; 524 gl->clearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil); 525} 526 527void glwClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value) 528{ 529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 530 if (!gl) 531 return; 532 gl->clearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); 533} 534 535void glwClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value) 536{ 537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 538 if (!gl) 539 return; 540 gl->clearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); 541} 542 543void glwClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value) 544{ 545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 546 if (!gl) 547 return; 548 gl->clearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); 549} 550 551void glwClearStencil (GLint s) 552{ 553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 554 if (!gl) 555 return; 556 gl->clearStencil(s); 557} 558 559void glwClearTexImage (GLuint texture, GLint level, GLenum format, GLenum type, const void *data) 560{ 561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 562 if (!gl) 563 return; 564 gl->clearTexImage(texture, level, format, type, data); 565} 566 567void glwClearTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data) 568{ 569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 570 if (!gl) 571 return; 572 gl->clearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); 573} 574 575void glwClientAttribDefaultEXT (GLbitfield mask) 576{ 577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 578 if (!gl) 579 return; 580 gl->clientAttribDefaultEXT(mask); 581} 582 583GLenum glwClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout) 584{ 585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 586 if (!gl) 587 return (GLenum)0; 588 return gl->clientWaitSync(sync, flags, timeout); 589} 590 591void glwClipControl (GLenum origin, GLenum depth) 592{ 593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 594 if (!gl) 595 return; 596 gl->clipControl(origin, depth); 597} 598 599void glwColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) 600{ 601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 602 if (!gl) 603 return; 604 gl->colorMask(red, green, blue, alpha); 605} 606 607void glwColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) 608{ 609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 610 if (!gl) 611 return; 612 gl->colorMaski(index, r, g, b, a); 613} 614 615void glwCompileShader (GLuint shader) 616{ 617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 618 if (!gl) 619 return; 620 gl->compileShader(shader); 621} 622 623void glwCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits) 624{ 625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 626 if (!gl) 627 return; 628 gl->compressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits); 629} 630 631void glwCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits) 632{ 633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 634 if (!gl) 635 return; 636 gl->compressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits); 637} 638 639void glwCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits) 640{ 641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 642 if (!gl) 643 return; 644 gl->compressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits); 645} 646 647void glwCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits) 648{ 649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 650 if (!gl) 651 return; 652 gl->compressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits); 653} 654 655void glwCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits) 656{ 657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 658 if (!gl) 659 return; 660 gl->compressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits); 661} 662 663void glwCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits) 664{ 665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 666 if (!gl) 667 return; 668 gl->compressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); 669} 670 671void glwCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) 672{ 673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 674 if (!gl) 675 return; 676 gl->compressedTexImage1D(target, level, internalformat, width, border, imageSize, data); 677} 678 679void glwCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) 680{ 681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 682 if (!gl) 683 return; 684 gl->compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); 685} 686 687void glwCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) 688{ 689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 690 if (!gl) 691 return; 692 gl->compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); 693} 694 695void glwCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) 696{ 697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 698 if (!gl) 699 return; 700 gl->compressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data); 701} 702 703void glwCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) 704{ 705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 706 if (!gl) 707 return; 708 gl->compressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); 709} 710 711void glwCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) 712{ 713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 714 if (!gl) 715 return; 716 gl->compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); 717} 718 719void glwCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) 720{ 721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 722 if (!gl) 723 return; 724 gl->compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); 725} 726 727void glwCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) 728{ 729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 730 if (!gl) 731 return; 732 gl->compressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); 733} 734 735void glwCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits) 736{ 737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 738 if (!gl) 739 return; 740 gl->compressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits); 741} 742 743void glwCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits) 744{ 745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 746 if (!gl) 747 return; 748 gl->compressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits); 749} 750 751void glwCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits) 752{ 753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 754 if (!gl) 755 return; 756 gl->compressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits); 757} 758 759void glwCompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) 760{ 761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 762 if (!gl) 763 return; 764 gl->compressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); 765} 766 767void glwCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits) 768{ 769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 770 if (!gl) 771 return; 772 gl->compressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits); 773} 774 775void glwCompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) 776{ 777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 778 if (!gl) 779 return; 780 gl->compressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); 781} 782 783void glwCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits) 784{ 785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 786 if (!gl) 787 return; 788 gl->compressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits); 789} 790 791void glwCompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) 792{ 793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 794 if (!gl) 795 return; 796 gl->compressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); 797} 798 799void glwCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits) 800{ 801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 802 if (!gl) 803 return; 804 gl->compressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); 805} 806 807void glwCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 808{ 809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 810 if (!gl) 811 return; 812 gl->copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); 813} 814 815void glwCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) 816{ 817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 818 if (!gl) 819 return; 820 gl->copyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); 821} 822 823void glwCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) 824{ 825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 826 if (!gl) 827 return; 828 gl->copyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border); 829} 830 831void glwCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 832{ 833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 834 if (!gl) 835 return; 836 gl->copyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border); 837} 838 839void glwCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) 840{ 841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 842 if (!gl) 843 return; 844 gl->copyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width); 845} 846 847void glwCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 848{ 849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 850 if (!gl) 851 return; 852 gl->copyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height); 853} 854 855void glwCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 856{ 857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 858 if (!gl) 859 return; 860 gl->copyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height); 861} 862 863void glwCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 864{ 865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 866 if (!gl) 867 return; 868 gl->copyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); 869} 870 871void glwCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) 872{ 873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 874 if (!gl) 875 return; 876 gl->copyTexImage1D(target, level, internalformat, x, y, width, border); 877} 878 879void glwCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 880{ 881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 882 if (!gl) 883 return; 884 gl->copyTexImage2D(target, level, internalformat, x, y, width, height, border); 885} 886 887void glwCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) 888{ 889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 890 if (!gl) 891 return; 892 gl->copyTexSubImage1D(target, level, xoffset, x, y, width); 893} 894 895void glwCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 896{ 897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 898 if (!gl) 899 return; 900 gl->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); 901} 902 903void glwCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 904{ 905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 906 if (!gl) 907 return; 908 gl->copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); 909} 910 911void glwCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 912{ 913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 914 if (!gl) 915 return; 916 gl->copyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); 917} 918 919void glwCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) 920{ 921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 922 if (!gl) 923 return; 924 gl->copyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border); 925} 926 927void glwCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) 928{ 929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 930 if (!gl) 931 return; 932 gl->copyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border); 933} 934 935void glwCopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) 936{ 937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 938 if (!gl) 939 return; 940 gl->copyTextureSubImage1D(texture, level, xoffset, x, y, width); 941} 942 943void glwCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) 944{ 945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 946 if (!gl) 947 return; 948 gl->copyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width); 949} 950 951void glwCopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 952{ 953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 954 if (!gl) 955 return; 956 gl->copyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); 957} 958 959void glwCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) 960{ 961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 962 if (!gl) 963 return; 964 gl->copyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height); 965} 966 967void glwCopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 968{ 969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 970 if (!gl) 971 return; 972 gl->copyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); 973} 974 975void glwCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) 976{ 977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 978 if (!gl) 979 return; 980 gl->copyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height); 981} 982 983void glwCreateBuffers (GLsizei n, GLuint *buffers) 984{ 985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 986 if (!gl) 987 return; 988 gl->createBuffers(n, buffers); 989} 990 991void glwCreateFramebuffers (GLsizei n, GLuint *framebuffers) 992{ 993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 994 if (!gl) 995 return; 996 gl->createFramebuffers(n, framebuffers); 997} 998 999GLuint glwCreateProgram (void) 1000{ 1001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1002 if (!gl) 1003 return (GLuint)0; 1004 return gl->createProgram(); 1005} 1006 1007void glwCreateProgramPipelines (GLsizei n, GLuint *pipelines) 1008{ 1009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1010 if (!gl) 1011 return; 1012 gl->createProgramPipelines(n, pipelines); 1013} 1014 1015void glwCreateQueries (GLenum target, GLsizei n, GLuint *ids) 1016{ 1017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1018 if (!gl) 1019 return; 1020 gl->createQueries(target, n, ids); 1021} 1022 1023void glwCreateRenderbuffers (GLsizei n, GLuint *renderbuffers) 1024{ 1025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1026 if (!gl) 1027 return; 1028 gl->createRenderbuffers(n, renderbuffers); 1029} 1030 1031void glwCreateSamplers (GLsizei n, GLuint *samplers) 1032{ 1033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1034 if (!gl) 1035 return; 1036 gl->createSamplers(n, samplers); 1037} 1038 1039GLuint glwCreateShader (GLenum type) 1040{ 1041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1042 if (!gl) 1043 return (GLuint)0; 1044 return gl->createShader(type); 1045} 1046 1047GLuint glwCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings) 1048{ 1049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1050 if (!gl) 1051 return (GLuint)0; 1052 return gl->createShaderProgramv(type, count, strings); 1053} 1054 1055void glwCreateTextures (GLenum target, GLsizei n, GLuint *textures) 1056{ 1057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1058 if (!gl) 1059 return; 1060 gl->createTextures(target, n, textures); 1061} 1062 1063void glwCreateTransformFeedbacks (GLsizei n, GLuint *ids) 1064{ 1065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1066 if (!gl) 1067 return; 1068 gl->createTransformFeedbacks(n, ids); 1069} 1070 1071void glwCreateVertexArrays (GLsizei n, GLuint *arrays) 1072{ 1073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1074 if (!gl) 1075 return; 1076 gl->createVertexArrays(n, arrays); 1077} 1078 1079void glwCullFace (GLenum mode) 1080{ 1081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1082 if (!gl) 1083 return; 1084 gl->cullFace(mode); 1085} 1086 1087void glwDebugMessageCallback (GLDEBUGPROC callback, const void *userParam) 1088{ 1089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1090 if (!gl) 1091 return; 1092 gl->debugMessageCallback(callback, userParam); 1093} 1094 1095void glwDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) 1096{ 1097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1098 if (!gl) 1099 return; 1100 gl->debugMessageControl(source, type, severity, count, ids, enabled); 1101} 1102 1103void glwDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) 1104{ 1105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1106 if (!gl) 1107 return; 1108 gl->debugMessageInsert(source, type, id, severity, length, buf); 1109} 1110 1111void glwDeleteBuffers (GLsizei n, const GLuint *buffers) 1112{ 1113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1114 if (!gl) 1115 return; 1116 gl->deleteBuffers(n, buffers); 1117} 1118 1119void glwDeleteFramebuffers (GLsizei n, const GLuint *framebuffers) 1120{ 1121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1122 if (!gl) 1123 return; 1124 gl->deleteFramebuffers(n, framebuffers); 1125} 1126 1127void glwDeleteProgram (GLuint program) 1128{ 1129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1130 if (!gl) 1131 return; 1132 gl->deleteProgram(program); 1133} 1134 1135void glwDeleteProgramPipelines (GLsizei n, const GLuint *pipelines) 1136{ 1137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1138 if (!gl) 1139 return; 1140 gl->deleteProgramPipelines(n, pipelines); 1141} 1142 1143void glwDeleteQueries (GLsizei n, const GLuint *ids) 1144{ 1145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1146 if (!gl) 1147 return; 1148 gl->deleteQueries(n, ids); 1149} 1150 1151void glwDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers) 1152{ 1153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1154 if (!gl) 1155 return; 1156 gl->deleteRenderbuffers(n, renderbuffers); 1157} 1158 1159void glwDeleteSamplers (GLsizei count, const GLuint *samplers) 1160{ 1161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1162 if (!gl) 1163 return; 1164 gl->deleteSamplers(count, samplers); 1165} 1166 1167void glwDeleteShader (GLuint shader) 1168{ 1169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1170 if (!gl) 1171 return; 1172 gl->deleteShader(shader); 1173} 1174 1175void glwDeleteSync (GLsync sync) 1176{ 1177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1178 if (!gl) 1179 return; 1180 gl->deleteSync(sync); 1181} 1182 1183void glwDeleteTextures (GLsizei n, const GLuint *textures) 1184{ 1185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1186 if (!gl) 1187 return; 1188 gl->deleteTextures(n, textures); 1189} 1190 1191void glwDeleteTransformFeedbacks (GLsizei n, const GLuint *ids) 1192{ 1193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1194 if (!gl) 1195 return; 1196 gl->deleteTransformFeedbacks(n, ids); 1197} 1198 1199void glwDeleteVertexArrays (GLsizei n, const GLuint *arrays) 1200{ 1201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1202 if (!gl) 1203 return; 1204 gl->deleteVertexArrays(n, arrays); 1205} 1206 1207void glwDepthBoundsEXT (GLclampd zmin, GLclampd zmax) 1208{ 1209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1210 if (!gl) 1211 return; 1212 gl->depthBoundsEXT(zmin, zmax); 1213} 1214 1215void glwDepthFunc (GLenum func) 1216{ 1217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1218 if (!gl) 1219 return; 1220 gl->depthFunc(func); 1221} 1222 1223void glwDepthMask (GLboolean flag) 1224{ 1225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1226 if (!gl) 1227 return; 1228 gl->depthMask(flag); 1229} 1230 1231void glwDepthRange (GLdouble n, GLdouble f) 1232{ 1233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1234 if (!gl) 1235 return; 1236 gl->depthRange(n, f); 1237} 1238 1239void glwDepthRangeArrayfvOES (GLuint first, GLsizei count, const GLfloat *v) 1240{ 1241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1242 if (!gl) 1243 return; 1244 gl->depthRangeArrayfvOES(first, count, v); 1245} 1246 1247void glwDepthRangeArrayv (GLuint first, GLsizei count, const GLdouble *v) 1248{ 1249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1250 if (!gl) 1251 return; 1252 gl->depthRangeArrayv(first, count, v); 1253} 1254 1255void glwDepthRangeIndexed (GLuint index, GLdouble n, GLdouble f) 1256{ 1257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1258 if (!gl) 1259 return; 1260 gl->depthRangeIndexed(index, n, f); 1261} 1262 1263void glwDepthRangeIndexedfOES (GLuint index, GLfloat n, GLfloat f) 1264{ 1265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1266 if (!gl) 1267 return; 1268 gl->depthRangeIndexedfOES(index, n, f); 1269} 1270 1271void glwDepthRangef (GLfloat n, GLfloat f) 1272{ 1273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1274 if (!gl) 1275 return; 1276 gl->depthRangef(n, f); 1277} 1278 1279void glwDetachShader (GLuint program, GLuint shader) 1280{ 1281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1282 if (!gl) 1283 return; 1284 gl->detachShader(program, shader); 1285} 1286 1287void glwDisable (GLenum cap) 1288{ 1289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1290 if (!gl) 1291 return; 1292 gl->disable(cap); 1293} 1294 1295void glwDisableClientStateIndexedEXT (GLenum array, GLuint index) 1296{ 1297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1298 if (!gl) 1299 return; 1300 gl->disableClientStateIndexedEXT(array, index); 1301} 1302 1303void glwDisableClientStateiEXT (GLenum array, GLuint index) 1304{ 1305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1306 if (!gl) 1307 return; 1308 gl->disableClientStateiEXT(array, index); 1309} 1310 1311void glwDisableVertexArrayAttrib (GLuint vaobj, GLuint index) 1312{ 1313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1314 if (!gl) 1315 return; 1316 gl->disableVertexArrayAttrib(vaobj, index); 1317} 1318 1319void glwDisableVertexArrayAttribEXT (GLuint vaobj, GLuint index) 1320{ 1321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1322 if (!gl) 1323 return; 1324 gl->disableVertexArrayAttribEXT(vaobj, index); 1325} 1326 1327void glwDisableVertexArrayEXT (GLuint vaobj, GLenum array) 1328{ 1329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1330 if (!gl) 1331 return; 1332 gl->disableVertexArrayEXT(vaobj, array); 1333} 1334 1335void glwDisableVertexAttribArray (GLuint index) 1336{ 1337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1338 if (!gl) 1339 return; 1340 gl->disableVertexAttribArray(index); 1341} 1342 1343void glwDisablei (GLenum target, GLuint index) 1344{ 1345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1346 if (!gl) 1347 return; 1348 gl->disablei(target, index); 1349} 1350 1351void glwDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) 1352{ 1353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1354 if (!gl) 1355 return; 1356 gl->dispatchCompute(num_groups_x, num_groups_y, num_groups_z); 1357} 1358 1359void glwDispatchComputeIndirect (GLintptr indirect) 1360{ 1361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1362 if (!gl) 1363 return; 1364 gl->dispatchComputeIndirect(indirect); 1365} 1366 1367void glwDrawArrays (GLenum mode, GLint first, GLsizei count) 1368{ 1369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1370 if (!gl) 1371 return; 1372 gl->drawArrays(mode, first, count); 1373} 1374 1375void glwDrawArraysIndirect (GLenum mode, const void *indirect) 1376{ 1377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1378 if (!gl) 1379 return; 1380 gl->drawArraysIndirect(mode, indirect); 1381} 1382 1383void glwDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount) 1384{ 1385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1386 if (!gl) 1387 return; 1388 gl->drawArraysInstanced(mode, first, count, instancecount); 1389} 1390 1391void glwDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) 1392{ 1393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1394 if (!gl) 1395 return; 1396 gl->drawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); 1397} 1398 1399void glwDrawBuffer (GLenum buf) 1400{ 1401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1402 if (!gl) 1403 return; 1404 gl->drawBuffer(buf); 1405} 1406 1407void glwDrawBuffers (GLsizei n, const GLenum *bufs) 1408{ 1409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1410 if (!gl) 1411 return; 1412 gl->drawBuffers(n, bufs); 1413} 1414 1415void glwDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices) 1416{ 1417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1418 if (!gl) 1419 return; 1420 gl->drawElements(mode, count, type, indices); 1421} 1422 1423void glwDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) 1424{ 1425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1426 if (!gl) 1427 return; 1428 gl->drawElementsBaseVertex(mode, count, type, indices, basevertex); 1429} 1430 1431void glwDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect) 1432{ 1433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1434 if (!gl) 1435 return; 1436 gl->drawElementsIndirect(mode, type, indirect); 1437} 1438 1439void glwDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) 1440{ 1441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1442 if (!gl) 1443 return; 1444 gl->drawElementsInstanced(mode, count, type, indices, instancecount); 1445} 1446 1447void glwDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) 1448{ 1449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1450 if (!gl) 1451 return; 1452 gl->drawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); 1453} 1454 1455void glwDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) 1456{ 1457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1458 if (!gl) 1459 return; 1460 gl->drawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); 1461} 1462 1463void glwDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) 1464{ 1465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1466 if (!gl) 1467 return; 1468 gl->drawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); 1469} 1470 1471void glwDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) 1472{ 1473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1474 if (!gl) 1475 return; 1476 gl->drawRangeElements(mode, start, end, count, type, indices); 1477} 1478 1479void glwDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) 1480{ 1481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1482 if (!gl) 1483 return; 1484 gl->drawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); 1485} 1486 1487void glwDrawTransformFeedback (GLenum mode, GLuint id) 1488{ 1489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1490 if (!gl) 1491 return; 1492 gl->drawTransformFeedback(mode, id); 1493} 1494 1495void glwDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount) 1496{ 1497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1498 if (!gl) 1499 return; 1500 gl->drawTransformFeedbackInstanced(mode, id, instancecount); 1501} 1502 1503void glwDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream) 1504{ 1505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1506 if (!gl) 1507 return; 1508 gl->drawTransformFeedbackStream(mode, id, stream); 1509} 1510 1511void glwDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) 1512{ 1513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1514 if (!gl) 1515 return; 1516 gl->drawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); 1517} 1518 1519void glwEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image) 1520{ 1521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1522 if (!gl) 1523 return; 1524 gl->eglImageTargetRenderbufferStorageOES(target, image); 1525} 1526 1527void glwEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) 1528{ 1529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1530 if (!gl) 1531 return; 1532 gl->eglImageTargetTexture2DOES(target, image); 1533} 1534 1535void glwEnable (GLenum cap) 1536{ 1537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1538 if (!gl) 1539 return; 1540 gl->enable(cap); 1541} 1542 1543void glwEnableClientStateIndexedEXT (GLenum array, GLuint index) 1544{ 1545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1546 if (!gl) 1547 return; 1548 gl->enableClientStateIndexedEXT(array, index); 1549} 1550 1551void glwEnableClientStateiEXT (GLenum array, GLuint index) 1552{ 1553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1554 if (!gl) 1555 return; 1556 gl->enableClientStateiEXT(array, index); 1557} 1558 1559void glwEnableVertexArrayAttrib (GLuint vaobj, GLuint index) 1560{ 1561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1562 if (!gl) 1563 return; 1564 gl->enableVertexArrayAttrib(vaobj, index); 1565} 1566 1567void glwEnableVertexArrayAttribEXT (GLuint vaobj, GLuint index) 1568{ 1569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1570 if (!gl) 1571 return; 1572 gl->enableVertexArrayAttribEXT(vaobj, index); 1573} 1574 1575void glwEnableVertexArrayEXT (GLuint vaobj, GLenum array) 1576{ 1577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1578 if (!gl) 1579 return; 1580 gl->enableVertexArrayEXT(vaobj, array); 1581} 1582 1583void glwEnableVertexAttribArray (GLuint index) 1584{ 1585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1586 if (!gl) 1587 return; 1588 gl->enableVertexAttribArray(index); 1589} 1590 1591void glwEnablei (GLenum target, GLuint index) 1592{ 1593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1594 if (!gl) 1595 return; 1596 gl->enablei(target, index); 1597} 1598 1599void glwEndConditionalRender (void) 1600{ 1601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1602 if (!gl) 1603 return; 1604 gl->endConditionalRender(); 1605} 1606 1607void glwEndQuery (GLenum target) 1608{ 1609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1610 if (!gl) 1611 return; 1612 gl->endQuery(target); 1613} 1614 1615void glwEndQueryIndexed (GLenum target, GLuint index) 1616{ 1617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1618 if (!gl) 1619 return; 1620 gl->endQueryIndexed(target, index); 1621} 1622 1623void glwEndTransformFeedback (void) 1624{ 1625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1626 if (!gl) 1627 return; 1628 gl->endTransformFeedback(); 1629} 1630 1631GLsync glwFenceSync (GLenum condition, GLbitfield flags) 1632{ 1633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1634 if (!gl) 1635 return (GLsync)0; 1636 return gl->fenceSync(condition, flags); 1637} 1638 1639void glwFinish (void) 1640{ 1641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1642 if (!gl) 1643 return; 1644 gl->finish(); 1645} 1646 1647void glwFlush (void) 1648{ 1649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1650 if (!gl) 1651 return; 1652 gl->flush(); 1653} 1654 1655void glwFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length) 1656{ 1657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1658 if (!gl) 1659 return; 1660 gl->flushMappedBufferRange(target, offset, length); 1661} 1662 1663void glwFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length) 1664{ 1665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1666 if (!gl) 1667 return; 1668 gl->flushMappedNamedBufferRange(buffer, offset, length); 1669} 1670 1671void glwFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length) 1672{ 1673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1674 if (!gl) 1675 return; 1676 gl->flushMappedNamedBufferRangeEXT(buffer, offset, length); 1677} 1678 1679void glwFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode) 1680{ 1681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1682 if (!gl) 1683 return; 1684 gl->framebufferDrawBufferEXT(framebuffer, mode); 1685} 1686 1687void glwFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs) 1688{ 1689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1690 if (!gl) 1691 return; 1692 gl->framebufferDrawBuffersEXT(framebuffer, n, bufs); 1693} 1694 1695void glwFramebufferParameteri (GLenum target, GLenum pname, GLint param) 1696{ 1697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1698 if (!gl) 1699 return; 1700 gl->framebufferParameteri(target, pname, param); 1701} 1702 1703void glwFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode) 1704{ 1705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1706 if (!gl) 1707 return; 1708 gl->framebufferReadBufferEXT(framebuffer, mode); 1709} 1710 1711void glwFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 1712{ 1713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1714 if (!gl) 1715 return; 1716 gl->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); 1717} 1718 1719void glwFramebufferShadingRateEXT (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight) 1720{ 1721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1722 if (!gl) 1723 return; 1724 gl->framebufferShadingRateEXT(target, attachment, texture, baseLayer, numLayers, texelWidth, texelHeight); 1725} 1726 1727void glwFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level) 1728{ 1729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1730 if (!gl) 1731 return; 1732 gl->framebufferTexture(target, attachment, texture, level); 1733} 1734 1735void glwFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 1736{ 1737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1738 if (!gl) 1739 return; 1740 gl->framebufferTexture1D(target, attachment, textarget, texture, level); 1741} 1742 1743void glwFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 1744{ 1745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1746 if (!gl) 1747 return; 1748 gl->framebufferTexture2D(target, attachment, textarget, texture, level); 1749} 1750 1751void glwFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) 1752{ 1753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1754 if (!gl) 1755 return; 1756 gl->framebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples); 1757} 1758 1759void glwFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 1760{ 1761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1762 if (!gl) 1763 return; 1764 gl->framebufferTexture3D(target, attachment, textarget, texture, level, zoffset); 1765} 1766 1767void glwFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 1768{ 1769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1770 if (!gl) 1771 return; 1772 gl->framebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); 1773} 1774 1775void glwFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) 1776{ 1777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1778 if (!gl) 1779 return; 1780 gl->framebufferTextureLayer(target, attachment, texture, level, layer); 1781} 1782 1783void glwFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews) 1784{ 1785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1786 if (!gl) 1787 return; 1788 gl->framebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews); 1789} 1790 1791void glwFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews) 1792{ 1793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1794 if (!gl) 1795 return; 1796 gl->framebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews); 1797} 1798 1799void glwFrontFace (GLenum mode) 1800{ 1801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1802 if (!gl) 1803 return; 1804 gl->frontFace(mode); 1805} 1806 1807void glwGenBuffers (GLsizei n, GLuint *buffers) 1808{ 1809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1810 if (!gl) 1811 return; 1812 gl->genBuffers(n, buffers); 1813} 1814 1815void glwGenFramebuffers (GLsizei n, GLuint *framebuffers) 1816{ 1817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1818 if (!gl) 1819 return; 1820 gl->genFramebuffers(n, framebuffers); 1821} 1822 1823void glwGenProgramPipelines (GLsizei n, GLuint *pipelines) 1824{ 1825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1826 if (!gl) 1827 return; 1828 gl->genProgramPipelines(n, pipelines); 1829} 1830 1831void glwGenQueries (GLsizei n, GLuint *ids) 1832{ 1833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1834 if (!gl) 1835 return; 1836 gl->genQueries(n, ids); 1837} 1838 1839void glwGenRenderbuffers (GLsizei n, GLuint *renderbuffers) 1840{ 1841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1842 if (!gl) 1843 return; 1844 gl->genRenderbuffers(n, renderbuffers); 1845} 1846 1847void glwGenSamplers (GLsizei count, GLuint *samplers) 1848{ 1849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1850 if (!gl) 1851 return; 1852 gl->genSamplers(count, samplers); 1853} 1854 1855void glwGenTextures (GLsizei n, GLuint *textures) 1856{ 1857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1858 if (!gl) 1859 return; 1860 gl->genTextures(n, textures); 1861} 1862 1863void glwGenTransformFeedbacks (GLsizei n, GLuint *ids) 1864{ 1865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1866 if (!gl) 1867 return; 1868 gl->genTransformFeedbacks(n, ids); 1869} 1870 1871void glwGenVertexArrays (GLsizei n, GLuint *arrays) 1872{ 1873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1874 if (!gl) 1875 return; 1876 gl->genVertexArrays(n, arrays); 1877} 1878 1879void glwGenerateMipmap (GLenum target) 1880{ 1881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1882 if (!gl) 1883 return; 1884 gl->generateMipmap(target); 1885} 1886 1887void glwGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target) 1888{ 1889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1890 if (!gl) 1891 return; 1892 gl->generateMultiTexMipmapEXT(texunit, target); 1893} 1894 1895void glwGenerateTextureMipmap (GLuint texture) 1896{ 1897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1898 if (!gl) 1899 return; 1900 gl->generateTextureMipmap(texture); 1901} 1902 1903void glwGenerateTextureMipmapEXT (GLuint texture, GLenum target) 1904{ 1905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1906 if (!gl) 1907 return; 1908 gl->generateTextureMipmapEXT(texture, target); 1909} 1910 1911void glwGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) 1912{ 1913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1914 if (!gl) 1915 return; 1916 gl->getActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); 1917} 1918 1919void glwGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) 1920{ 1921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1922 if (!gl) 1923 return; 1924 gl->getActiveAttrib(program, index, bufSize, length, size, type, name); 1925} 1926 1927void glwGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) 1928{ 1929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1930 if (!gl) 1931 return; 1932 gl->getActiveSubroutineName(program, shadertype, index, bufSize, length, name); 1933} 1934 1935void glwGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) 1936{ 1937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1938 if (!gl) 1939 return; 1940 gl->getActiveSubroutineUniformName(program, shadertype, index, bufSize, length, name); 1941} 1942 1943void glwGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) 1944{ 1945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1946 if (!gl) 1947 return; 1948 gl->getActiveSubroutineUniformiv(program, shadertype, index, pname, values); 1949} 1950 1951void glwGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) 1952{ 1953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1954 if (!gl) 1955 return; 1956 gl->getActiveUniform(program, index, bufSize, length, size, type, name); 1957} 1958 1959void glwGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) 1960{ 1961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1962 if (!gl) 1963 return; 1964 gl->getActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); 1965} 1966 1967void glwGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) 1968{ 1969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1970 if (!gl) 1971 return; 1972 gl->getActiveUniformBlockiv(program, uniformBlockIndex, pname, params); 1973} 1974 1975void glwGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) 1976{ 1977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1978 if (!gl) 1979 return; 1980 gl->getActiveUniformName(program, uniformIndex, bufSize, length, uniformName); 1981} 1982 1983void glwGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) 1984{ 1985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1986 if (!gl) 1987 return; 1988 gl->getActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); 1989} 1990 1991void glwGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) 1992{ 1993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 1994 if (!gl) 1995 return; 1996 gl->getAttachedShaders(program, maxCount, count, shaders); 1997} 1998 1999GLint glwGetAttribLocation (GLuint program, const GLchar *name) 2000{ 2001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2002 if (!gl) 2003 return (GLint)0; 2004 return gl->getAttribLocation(program, name); 2005} 2006 2007void glwGetBooleani_v (GLenum target, GLuint index, GLboolean *data) 2008{ 2009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2010 if (!gl) 2011 return; 2012 gl->getBooleani_v(target, index, data); 2013} 2014 2015void glwGetBooleanv (GLenum pname, GLboolean *data) 2016{ 2017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2018 if (!gl) 2019 return; 2020 gl->getBooleanv(pname, data); 2021} 2022 2023void glwGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params) 2024{ 2025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2026 if (!gl) 2027 return; 2028 gl->getBufferParameteri64v(target, pname, params); 2029} 2030 2031void glwGetBufferParameteriv (GLenum target, GLenum pname, GLint *params) 2032{ 2033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2034 if (!gl) 2035 return; 2036 gl->getBufferParameteriv(target, pname, params); 2037} 2038 2039void glwGetBufferPointerv (GLenum target, GLenum pname, void **params) 2040{ 2041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2042 if (!gl) 2043 return; 2044 gl->getBufferPointerv(target, pname, params); 2045} 2046 2047void glwGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void *data) 2048{ 2049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2050 if (!gl) 2051 return; 2052 gl->getBufferSubData(target, offset, size, data); 2053} 2054 2055void glwGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, void *img) 2056{ 2057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2058 if (!gl) 2059 return; 2060 gl->getCompressedMultiTexImageEXT(texunit, target, lod, img); 2061} 2062 2063void glwGetCompressedTexImage (GLenum target, GLint level, void *img) 2064{ 2065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2066 if (!gl) 2067 return; 2068 gl->getCompressedTexImage(target, level, img); 2069} 2070 2071void glwGetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void *pixels) 2072{ 2073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2074 if (!gl) 2075 return; 2076 gl->getCompressedTextureImage(texture, level, bufSize, pixels); 2077} 2078 2079void glwGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void *img) 2080{ 2081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2082 if (!gl) 2083 return; 2084 gl->getCompressedTextureImageEXT(texture, target, lod, img); 2085} 2086 2087void glwGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels) 2088{ 2089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2090 if (!gl) 2091 return; 2092 gl->getCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); 2093} 2094 2095GLuint glwGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) 2096{ 2097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2098 if (!gl) 2099 return (GLuint)0; 2100 return gl->getDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); 2101} 2102 2103void glwGetDoublei_v (GLenum target, GLuint index, GLdouble *data) 2104{ 2105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2106 if (!gl) 2107 return; 2108 gl->getDoublei_v(target, index, data); 2109} 2110 2111void glwGetDoublev (GLenum pname, GLdouble *data) 2112{ 2113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2114 if (!gl) 2115 return; 2116 gl->getDoublev(pname, data); 2117} 2118 2119GLenum glwGetError (void) 2120{ 2121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2122 if (!gl) 2123 return GL_INVALID_OPERATION; 2124 return gl->getError(); 2125} 2126 2127void glwGetFloati_v (GLenum target, GLuint index, GLfloat *data) 2128{ 2129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2130 if (!gl) 2131 return; 2132 gl->getFloati_v(target, index, data); 2133} 2134 2135void glwGetFloatv (GLenum pname, GLfloat *data) 2136{ 2137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2138 if (!gl) 2139 return; 2140 gl->getFloatv(pname, data); 2141} 2142 2143GLint glwGetFragDataIndex (GLuint program, const GLchar *name) 2144{ 2145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2146 if (!gl) 2147 return (GLint)0; 2148 return gl->getFragDataIndex(program, name); 2149} 2150 2151GLint glwGetFragDataLocation (GLuint program, const GLchar *name) 2152{ 2153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2154 if (!gl) 2155 return (GLint)0; 2156 return gl->getFragDataLocation(program, name); 2157} 2158 2159void glwGetFragmentShadingRatesEXT (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates) 2160{ 2161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2162 if (!gl) 2163 return; 2164 gl->getFragmentShadingRatesEXT(samples, maxCount, count, shadingRates); 2165} 2166 2167void glwGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params) 2168{ 2169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2170 if (!gl) 2171 return; 2172 gl->getFramebufferAttachmentParameteriv(target, attachment, pname, params); 2173} 2174 2175void glwGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params) 2176{ 2177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2178 if (!gl) 2179 return; 2180 gl->getFramebufferParameteriv(target, pname, params); 2181} 2182 2183void glwGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params) 2184{ 2185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2186 if (!gl) 2187 return; 2188 gl->getFramebufferParameterivEXT(framebuffer, pname, params); 2189} 2190 2191GLenum glwGetGraphicsResetStatus (void) 2192{ 2193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2194 if (!gl) 2195 return (GLenum)0; 2196 return gl->getGraphicsResetStatus(); 2197} 2198 2199void glwGetInteger64i_v (GLenum target, GLuint index, GLint64 *data) 2200{ 2201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2202 if (!gl) 2203 return; 2204 gl->getInteger64i_v(target, index, data); 2205} 2206 2207void glwGetInteger64v (GLenum pname, GLint64 *data) 2208{ 2209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2210 if (!gl) 2211 return; 2212 gl->getInteger64v(pname, data); 2213} 2214 2215void glwGetIntegeri_v (GLenum target, GLuint index, GLint *data) 2216{ 2217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2218 if (!gl) 2219 return; 2220 gl->getIntegeri_v(target, index, data); 2221} 2222 2223void glwGetIntegerv (GLenum pname, GLint *data) 2224{ 2225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2226 if (!gl) 2227 return; 2228 gl->getIntegerv(pname, data); 2229} 2230 2231void glwGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params) 2232{ 2233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2234 if (!gl) 2235 return; 2236 gl->getInternalformatSampleivNV(target, internalformat, samples, pname, count, params); 2237} 2238 2239void glwGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params) 2240{ 2241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2242 if (!gl) 2243 return; 2244 gl->getInternalformati64v(target, internalformat, pname, count, params); 2245} 2246 2247void glwGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params) 2248{ 2249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2250 if (!gl) 2251 return; 2252 gl->getInternalformativ(target, internalformat, pname, count, params); 2253} 2254 2255void glwGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params) 2256{ 2257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2258 if (!gl) 2259 return; 2260 gl->getMultiTexEnvfvEXT(texunit, target, pname, params); 2261} 2262 2263void glwGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params) 2264{ 2265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2266 if (!gl) 2267 return; 2268 gl->getMultiTexEnvivEXT(texunit, target, pname, params); 2269} 2270 2271void glwGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params) 2272{ 2273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2274 if (!gl) 2275 return; 2276 gl->getMultiTexGendvEXT(texunit, coord, pname, params); 2277} 2278 2279void glwGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params) 2280{ 2281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2282 if (!gl) 2283 return; 2284 gl->getMultiTexGenfvEXT(texunit, coord, pname, params); 2285} 2286 2287void glwGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params) 2288{ 2289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2290 if (!gl) 2291 return; 2292 gl->getMultiTexGenivEXT(texunit, coord, pname, params); 2293} 2294 2295void glwGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels) 2296{ 2297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2298 if (!gl) 2299 return; 2300 gl->getMultiTexImageEXT(texunit, target, level, format, type, pixels); 2301} 2302 2303void glwGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params) 2304{ 2305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2306 if (!gl) 2307 return; 2308 gl->getMultiTexLevelParameterfvEXT(texunit, target, level, pname, params); 2309} 2310 2311void glwGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params) 2312{ 2313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2314 if (!gl) 2315 return; 2316 gl->getMultiTexLevelParameterivEXT(texunit, target, level, pname, params); 2317} 2318 2319void glwGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params) 2320{ 2321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2322 if (!gl) 2323 return; 2324 gl->getMultiTexParameterIivEXT(texunit, target, pname, params); 2325} 2326 2327void glwGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params) 2328{ 2329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2330 if (!gl) 2331 return; 2332 gl->getMultiTexParameterIuivEXT(texunit, target, pname, params); 2333} 2334 2335void glwGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params) 2336{ 2337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2338 if (!gl) 2339 return; 2340 gl->getMultiTexParameterfvEXT(texunit, target, pname, params); 2341} 2342 2343void glwGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params) 2344{ 2345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2346 if (!gl) 2347 return; 2348 gl->getMultiTexParameterivEXT(texunit, target, pname, params); 2349} 2350 2351void glwGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val) 2352{ 2353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2354 if (!gl) 2355 return; 2356 gl->getMultisamplefv(pname, index, val); 2357} 2358 2359void glwGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64 *params) 2360{ 2361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2362 if (!gl) 2363 return; 2364 gl->getNamedBufferParameteri64v(buffer, pname, params); 2365} 2366 2367void glwGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint *params) 2368{ 2369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2370 if (!gl) 2371 return; 2372 gl->getNamedBufferParameteriv(buffer, pname, params); 2373} 2374 2375void glwGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params) 2376{ 2377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2378 if (!gl) 2379 return; 2380 gl->getNamedBufferParameterivEXT(buffer, pname, params); 2381} 2382 2383void glwGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params) 2384{ 2385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2386 if (!gl) 2387 return; 2388 gl->getNamedBufferPointerv(buffer, pname, params); 2389} 2390 2391void glwGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void **params) 2392{ 2393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2394 if (!gl) 2395 return; 2396 gl->getNamedBufferPointervEXT(buffer, pname, params); 2397} 2398 2399void glwGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) 2400{ 2401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2402 if (!gl) 2403 return; 2404 gl->getNamedBufferSubData(buffer, offset, size, data); 2405} 2406 2407void glwGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data) 2408{ 2409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2410 if (!gl) 2411 return; 2412 gl->getNamedBufferSubDataEXT(buffer, offset, size, data); 2413} 2414 2415void glwGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params) 2416{ 2417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2418 if (!gl) 2419 return; 2420 gl->getNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); 2421} 2422 2423void glwGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params) 2424{ 2425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2426 if (!gl) 2427 return; 2428 gl->getNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params); 2429} 2430 2431void glwGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param) 2432{ 2433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2434 if (!gl) 2435 return; 2436 gl->getNamedFramebufferParameteriv(framebuffer, pname, param); 2437} 2438 2439void glwGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params) 2440{ 2441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2442 if (!gl) 2443 return; 2444 gl->getNamedFramebufferParameterivEXT(framebuffer, pname, params); 2445} 2446 2447void glwGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params) 2448{ 2449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2450 if (!gl) 2451 return; 2452 gl->getNamedProgramLocalParameterIivEXT(program, target, index, params); 2453} 2454 2455void glwGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params) 2456{ 2457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2458 if (!gl) 2459 return; 2460 gl->getNamedProgramLocalParameterIuivEXT(program, target, index, params); 2461} 2462 2463void glwGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params) 2464{ 2465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2466 if (!gl) 2467 return; 2468 gl->getNamedProgramLocalParameterdvEXT(program, target, index, params); 2469} 2470 2471void glwGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params) 2472{ 2473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2474 if (!gl) 2475 return; 2476 gl->getNamedProgramLocalParameterfvEXT(program, target, index, params); 2477} 2478 2479void glwGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, void *string) 2480{ 2481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2482 if (!gl) 2483 return; 2484 gl->getNamedProgramStringEXT(program, target, pname, string); 2485} 2486 2487void glwGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params) 2488{ 2489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2490 if (!gl) 2491 return; 2492 gl->getNamedProgramivEXT(program, target, pname, params); 2493} 2494 2495void glwGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint *params) 2496{ 2497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2498 if (!gl) 2499 return; 2500 gl->getNamedRenderbufferParameteriv(renderbuffer, pname, params); 2501} 2502 2503void glwGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params) 2504{ 2505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2506 if (!gl) 2507 return; 2508 gl->getNamedRenderbufferParameterivEXT(renderbuffer, pname, params); 2509} 2510 2511void glwGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) 2512{ 2513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2514 if (!gl) 2515 return; 2516 gl->getObjectLabel(identifier, name, bufSize, length, label); 2517} 2518 2519void glwGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) 2520{ 2521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2522 if (!gl) 2523 return; 2524 gl->getObjectPtrLabel(ptr, bufSize, length, label); 2525} 2526 2527void glwGetPointerIndexedvEXT (GLenum target, GLuint index, void **data) 2528{ 2529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2530 if (!gl) 2531 return; 2532 gl->getPointerIndexedvEXT(target, index, data); 2533} 2534 2535void glwGetPointeri_vEXT (GLenum pname, GLuint index, void **params) 2536{ 2537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2538 if (!gl) 2539 return; 2540 gl->getPointeri_vEXT(pname, index, params); 2541} 2542 2543void glwGetPointerv (GLenum pname, void **params) 2544{ 2545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2546 if (!gl) 2547 return; 2548 gl->getPointerv(pname, params); 2549} 2550 2551void glwGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) 2552{ 2553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2554 if (!gl) 2555 return; 2556 gl->getProgramBinary(program, bufSize, length, binaryFormat, binary); 2557} 2558 2559void glwGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) 2560{ 2561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2562 if (!gl) 2563 return; 2564 gl->getProgramInfoLog(program, bufSize, length, infoLog); 2565} 2566 2567void glwGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params) 2568{ 2569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2570 if (!gl) 2571 return; 2572 gl->getProgramInterfaceiv(program, programInterface, pname, params); 2573} 2574 2575void glwGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) 2576{ 2577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2578 if (!gl) 2579 return; 2580 gl->getProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); 2581} 2582 2583void glwGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params) 2584{ 2585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2586 if (!gl) 2587 return; 2588 gl->getProgramPipelineiv(pipeline, pname, params); 2589} 2590 2591GLuint glwGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name) 2592{ 2593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2594 if (!gl) 2595 return (GLuint)0; 2596 return gl->getProgramResourceIndex(program, programInterface, name); 2597} 2598 2599GLint glwGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name) 2600{ 2601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2602 if (!gl) 2603 return (GLint)0; 2604 return gl->getProgramResourceLocation(program, programInterface, name); 2605} 2606 2607GLint glwGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar *name) 2608{ 2609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2610 if (!gl) 2611 return (GLint)0; 2612 return gl->getProgramResourceLocationIndex(program, programInterface, name); 2613} 2614 2615void glwGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) 2616{ 2617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2618 if (!gl) 2619 return; 2620 gl->getProgramResourceName(program, programInterface, index, bufSize, length, name); 2621} 2622 2623void glwGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params) 2624{ 2625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2626 if (!gl) 2627 return; 2628 gl->getProgramResourceiv(program, programInterface, index, propCount, props, count, length, params); 2629} 2630 2631void glwGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values) 2632{ 2633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2634 if (!gl) 2635 return; 2636 gl->getProgramStageiv(program, shadertype, pname, values); 2637} 2638 2639void glwGetProgramiv (GLuint program, GLenum pname, GLint *params) 2640{ 2641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2642 if (!gl) 2643 return; 2644 gl->getProgramiv(program, pname, params); 2645} 2646 2647void glwGetQueryBufferObjecti64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) 2648{ 2649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2650 if (!gl) 2651 return; 2652 gl->getQueryBufferObjecti64v(id, buffer, pname, offset); 2653} 2654 2655void glwGetQueryBufferObjectiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) 2656{ 2657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2658 if (!gl) 2659 return; 2660 gl->getQueryBufferObjectiv(id, buffer, pname, offset); 2661} 2662 2663void glwGetQueryBufferObjectui64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) 2664{ 2665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2666 if (!gl) 2667 return; 2668 gl->getQueryBufferObjectui64v(id, buffer, pname, offset); 2669} 2670 2671void glwGetQueryBufferObjectuiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) 2672{ 2673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2674 if (!gl) 2675 return; 2676 gl->getQueryBufferObjectuiv(id, buffer, pname, offset); 2677} 2678 2679void glwGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint *params) 2680{ 2681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2682 if (!gl) 2683 return; 2684 gl->getQueryIndexediv(target, index, pname, params); 2685} 2686 2687void glwGetQueryObjecti64v (GLuint id, GLenum pname, GLint64 *params) 2688{ 2689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2690 if (!gl) 2691 return; 2692 gl->getQueryObjecti64v(id, pname, params); 2693} 2694 2695void glwGetQueryObjectiv (GLuint id, GLenum pname, GLint *params) 2696{ 2697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2698 if (!gl) 2699 return; 2700 gl->getQueryObjectiv(id, pname, params); 2701} 2702 2703void glwGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64 *params) 2704{ 2705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2706 if (!gl) 2707 return; 2708 gl->getQueryObjectui64v(id, pname, params); 2709} 2710 2711void glwGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params) 2712{ 2713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2714 if (!gl) 2715 return; 2716 gl->getQueryObjectuiv(id, pname, params); 2717} 2718 2719void glwGetQueryiv (GLenum target, GLenum pname, GLint *params) 2720{ 2721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2722 if (!gl) 2723 return; 2724 gl->getQueryiv(target, pname, params); 2725} 2726 2727void glwGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params) 2728{ 2729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2730 if (!gl) 2731 return; 2732 gl->getRenderbufferParameteriv(target, pname, params); 2733} 2734 2735void glwGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params) 2736{ 2737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2738 if (!gl) 2739 return; 2740 gl->getSamplerParameterIiv(sampler, pname, params); 2741} 2742 2743void glwGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params) 2744{ 2745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2746 if (!gl) 2747 return; 2748 gl->getSamplerParameterIuiv(sampler, pname, params); 2749} 2750 2751void glwGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params) 2752{ 2753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2754 if (!gl) 2755 return; 2756 gl->getSamplerParameterfv(sampler, pname, params); 2757} 2758 2759void glwGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params) 2760{ 2761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2762 if (!gl) 2763 return; 2764 gl->getSamplerParameteriv(sampler, pname, params); 2765} 2766 2767void glwGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) 2768{ 2769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2770 if (!gl) 2771 return; 2772 gl->getShaderInfoLog(shader, bufSize, length, infoLog); 2773} 2774 2775void glwGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) 2776{ 2777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2778 if (!gl) 2779 return; 2780 gl->getShaderPrecisionFormat(shadertype, precisiontype, range, precision); 2781} 2782 2783void glwGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) 2784{ 2785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2786 if (!gl) 2787 return; 2788 gl->getShaderSource(shader, bufSize, length, source); 2789} 2790 2791void glwGetShaderiv (GLuint shader, GLenum pname, GLint *params) 2792{ 2793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2794 if (!gl) 2795 return; 2796 gl->getShaderiv(shader, pname, params); 2797} 2798 2799const GLubyte * glwGetString (GLenum name) 2800{ 2801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2802 if (!gl) 2803 return (const GLubyte *)0; 2804 return gl->getString(name); 2805} 2806 2807const GLubyte * glwGetStringi (GLenum name, GLuint index) 2808{ 2809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2810 if (!gl) 2811 return (const GLubyte *)0; 2812 return gl->getStringi(name, index); 2813} 2814 2815GLuint glwGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name) 2816{ 2817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2818 if (!gl) 2819 return (GLuint)0; 2820 return gl->getSubroutineIndex(program, shadertype, name); 2821} 2822 2823GLint glwGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name) 2824{ 2825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2826 if (!gl) 2827 return (GLint)0; 2828 return gl->getSubroutineUniformLocation(program, shadertype, name); 2829} 2830 2831void glwGetSynciv (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values) 2832{ 2833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2834 if (!gl) 2835 return; 2836 gl->getSynciv(sync, pname, count, length, values); 2837} 2838 2839void glwGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, void *pixels) 2840{ 2841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2842 if (!gl) 2843 return; 2844 gl->getTexImage(target, level, format, type, pixels); 2845} 2846 2847void glwGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params) 2848{ 2849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2850 if (!gl) 2851 return; 2852 gl->getTexLevelParameterfv(target, level, pname, params); 2853} 2854 2855void glwGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params) 2856{ 2857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2858 if (!gl) 2859 return; 2860 gl->getTexLevelParameteriv(target, level, pname, params); 2861} 2862 2863void glwGetTexParameterIiv (GLenum target, GLenum pname, GLint *params) 2864{ 2865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2866 if (!gl) 2867 return; 2868 gl->getTexParameterIiv(target, pname, params); 2869} 2870 2871void glwGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params) 2872{ 2873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2874 if (!gl) 2875 return; 2876 gl->getTexParameterIuiv(target, pname, params); 2877} 2878 2879void glwGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params) 2880{ 2881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2882 if (!gl) 2883 return; 2884 gl->getTexParameterfv(target, pname, params); 2885} 2886 2887void glwGetTexParameteriv (GLenum target, GLenum pname, GLint *params) 2888{ 2889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2890 if (!gl) 2891 return; 2892 gl->getTexParameteriv(target, pname, params); 2893} 2894 2895void glwGetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) 2896{ 2897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2898 if (!gl) 2899 return; 2900 gl->getTextureImage(texture, level, format, type, bufSize, pixels); 2901} 2902 2903void glwGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels) 2904{ 2905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2906 if (!gl) 2907 return; 2908 gl->getTextureImageEXT(texture, target, level, format, type, pixels); 2909} 2910 2911void glwGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params) 2912{ 2913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2914 if (!gl) 2915 return; 2916 gl->getTextureLevelParameterfv(texture, level, pname, params); 2917} 2918 2919void glwGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params) 2920{ 2921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2922 if (!gl) 2923 return; 2924 gl->getTextureLevelParameterfvEXT(texture, target, level, pname, params); 2925} 2926 2927void glwGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params) 2928{ 2929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2930 if (!gl) 2931 return; 2932 gl->getTextureLevelParameteriv(texture, level, pname, params); 2933} 2934 2935void glwGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params) 2936{ 2937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2938 if (!gl) 2939 return; 2940 gl->getTextureLevelParameterivEXT(texture, target, level, pname, params); 2941} 2942 2943void glwGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params) 2944{ 2945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2946 if (!gl) 2947 return; 2948 gl->getTextureParameterIiv(texture, pname, params); 2949} 2950 2951void glwGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params) 2952{ 2953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2954 if (!gl) 2955 return; 2956 gl->getTextureParameterIivEXT(texture, target, pname, params); 2957} 2958 2959void glwGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params) 2960{ 2961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2962 if (!gl) 2963 return; 2964 gl->getTextureParameterIuiv(texture, pname, params); 2965} 2966 2967void glwGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params) 2968{ 2969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2970 if (!gl) 2971 return; 2972 gl->getTextureParameterIuivEXT(texture, target, pname, params); 2973} 2974 2975void glwGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params) 2976{ 2977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2978 if (!gl) 2979 return; 2980 gl->getTextureParameterfv(texture, pname, params); 2981} 2982 2983void glwGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params) 2984{ 2985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2986 if (!gl) 2987 return; 2988 gl->getTextureParameterfvEXT(texture, target, pname, params); 2989} 2990 2991void glwGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params) 2992{ 2993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 2994 if (!gl) 2995 return; 2996 gl->getTextureParameteriv(texture, pname, params); 2997} 2998 2999void glwGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params) 3000{ 3001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3002 if (!gl) 3003 return; 3004 gl->getTextureParameterivEXT(texture, target, pname, params); 3005} 3006 3007void glwGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels) 3008{ 3009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3010 if (!gl) 3011 return; 3012 gl->getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); 3013} 3014 3015void glwGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) 3016{ 3017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3018 if (!gl) 3019 return; 3020 gl->getTransformFeedbackVarying(program, index, bufSize, length, size, type, name); 3021} 3022 3023void glwGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64 *param) 3024{ 3025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3026 if (!gl) 3027 return; 3028 gl->getTransformFeedbacki64_v(xfb, pname, index, param); 3029} 3030 3031void glwGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint *param) 3032{ 3033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3034 if (!gl) 3035 return; 3036 gl->getTransformFeedbacki_v(xfb, pname, index, param); 3037} 3038 3039void glwGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint *param) 3040{ 3041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3042 if (!gl) 3043 return; 3044 gl->getTransformFeedbackiv(xfb, pname, param); 3045} 3046 3047GLuint glwGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName) 3048{ 3049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3050 if (!gl) 3051 return (GLuint)0; 3052 return gl->getUniformBlockIndex(program, uniformBlockName); 3053} 3054 3055void glwGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices) 3056{ 3057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3058 if (!gl) 3059 return; 3060 gl->getUniformIndices(program, uniformCount, uniformNames, uniformIndices); 3061} 3062 3063GLint glwGetUniformLocation (GLuint program, const GLchar *name) 3064{ 3065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3066 if (!gl) 3067 return (GLint)0; 3068 return gl->getUniformLocation(program, name); 3069} 3070 3071void glwGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params) 3072{ 3073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3074 if (!gl) 3075 return; 3076 gl->getUniformSubroutineuiv(shadertype, location, params); 3077} 3078 3079void glwGetUniformdv (GLuint program, GLint location, GLdouble *params) 3080{ 3081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3082 if (!gl) 3083 return; 3084 gl->getUniformdv(program, location, params); 3085} 3086 3087void glwGetUniformfv (GLuint program, GLint location, GLfloat *params) 3088{ 3089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3090 if (!gl) 3091 return; 3092 gl->getUniformfv(program, location, params); 3093} 3094 3095void glwGetUniformiv (GLuint program, GLint location, GLint *params) 3096{ 3097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3098 if (!gl) 3099 return; 3100 gl->getUniformiv(program, location, params); 3101} 3102 3103void glwGetUniformuiv (GLuint program, GLint location, GLuint *params) 3104{ 3105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3106 if (!gl) 3107 return; 3108 gl->getUniformuiv(program, location, params); 3109} 3110 3111void glwGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param) 3112{ 3113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3114 if (!gl) 3115 return; 3116 gl->getVertexArrayIndexed64iv(vaobj, index, pname, param); 3117} 3118 3119void glwGetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint *param) 3120{ 3121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3122 if (!gl) 3123 return; 3124 gl->getVertexArrayIndexediv(vaobj, index, pname, param); 3125} 3126 3127void glwGetVertexArrayIntegeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, GLint *param) 3128{ 3129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3130 if (!gl) 3131 return; 3132 gl->getVertexArrayIntegeri_vEXT(vaobj, index, pname, param); 3133} 3134 3135void glwGetVertexArrayIntegervEXT (GLuint vaobj, GLenum pname, GLint *param) 3136{ 3137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3138 if (!gl) 3139 return; 3140 gl->getVertexArrayIntegervEXT(vaobj, pname, param); 3141} 3142 3143void glwGetVertexArrayPointeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, void **param) 3144{ 3145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3146 if (!gl) 3147 return; 3148 gl->getVertexArrayPointeri_vEXT(vaobj, index, pname, param); 3149} 3150 3151void glwGetVertexArrayPointervEXT (GLuint vaobj, GLenum pname, void **param) 3152{ 3153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3154 if (!gl) 3155 return; 3156 gl->getVertexArrayPointervEXT(vaobj, pname, param); 3157} 3158 3159void glwGetVertexArrayiv (GLuint vaobj, GLenum pname, GLint *param) 3160{ 3161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3162 if (!gl) 3163 return; 3164 gl->getVertexArrayiv(vaobj, pname, param); 3165} 3166 3167void glwGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params) 3168{ 3169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3170 if (!gl) 3171 return; 3172 gl->getVertexAttribIiv(index, pname, params); 3173} 3174 3175void glwGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params) 3176{ 3177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3178 if (!gl) 3179 return; 3180 gl->getVertexAttribIuiv(index, pname, params); 3181} 3182 3183void glwGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble *params) 3184{ 3185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3186 if (!gl) 3187 return; 3188 gl->getVertexAttribLdv(index, pname, params); 3189} 3190 3191void glwGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer) 3192{ 3193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3194 if (!gl) 3195 return; 3196 gl->getVertexAttribPointerv(index, pname, pointer); 3197} 3198 3199void glwGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params) 3200{ 3201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3202 if (!gl) 3203 return; 3204 gl->getVertexAttribdv(index, pname, params); 3205} 3206 3207void glwGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params) 3208{ 3209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3210 if (!gl) 3211 return; 3212 gl->getVertexAttribfv(index, pname, params); 3213} 3214 3215void glwGetVertexAttribiv (GLuint index, GLenum pname, GLint *params) 3216{ 3217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3218 if (!gl) 3219 return; 3220 gl->getVertexAttribiv(index, pname, params); 3221} 3222 3223void glwGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, void *pixels) 3224{ 3225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3226 if (!gl) 3227 return; 3228 gl->getnCompressedTexImage(target, lod, bufSize, pixels); 3229} 3230 3231void glwGetnTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) 3232{ 3233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3234 if (!gl) 3235 return; 3236 gl->getnTexImage(target, level, format, type, bufSize, pixels); 3237} 3238 3239void glwGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params) 3240{ 3241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3242 if (!gl) 3243 return; 3244 gl->getnUniformdv(program, location, bufSize, params); 3245} 3246 3247void glwGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params) 3248{ 3249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3250 if (!gl) 3251 return; 3252 gl->getnUniformfv(program, location, bufSize, params); 3253} 3254 3255void glwGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params) 3256{ 3257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3258 if (!gl) 3259 return; 3260 gl->getnUniformiv(program, location, bufSize, params); 3261} 3262 3263void glwGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params) 3264{ 3265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3266 if (!gl) 3267 return; 3268 gl->getnUniformuiv(program, location, bufSize, params); 3269} 3270 3271void glwHint (GLenum target, GLenum mode) 3272{ 3273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3274 if (!gl) 3275 return; 3276 gl->hint(target, mode); 3277} 3278 3279void glwInsertEventMarkerEXT (GLsizei length, const GLchar *marker) 3280{ 3281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3282 if (!gl) 3283 return; 3284 gl->insertEventMarkerEXT(length, marker); 3285} 3286 3287void glwInvalidateBufferData (GLuint buffer) 3288{ 3289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3290 if (!gl) 3291 return; 3292 gl->invalidateBufferData(buffer); 3293} 3294 3295void glwInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length) 3296{ 3297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3298 if (!gl) 3299 return; 3300 gl->invalidateBufferSubData(buffer, offset, length); 3301} 3302 3303void glwInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments) 3304{ 3305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3306 if (!gl) 3307 return; 3308 gl->invalidateFramebuffer(target, numAttachments, attachments); 3309} 3310 3311void glwInvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments) 3312{ 3313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3314 if (!gl) 3315 return; 3316 gl->invalidateNamedFramebufferData(framebuffer, numAttachments, attachments); 3317} 3318 3319void glwInvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) 3320{ 3321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3322 if (!gl) 3323 return; 3324 gl->invalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); 3325} 3326 3327void glwInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) 3328{ 3329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3330 if (!gl) 3331 return; 3332 gl->invalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); 3333} 3334 3335void glwInvalidateTexImage (GLuint texture, GLint level) 3336{ 3337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3338 if (!gl) 3339 return; 3340 gl->invalidateTexImage(texture, level); 3341} 3342 3343void glwInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) 3344{ 3345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3346 if (!gl) 3347 return; 3348 gl->invalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); 3349} 3350 3351GLboolean glwIsBuffer (GLuint buffer) 3352{ 3353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3354 if (!gl) 3355 return (GLboolean)0; 3356 return gl->isBuffer(buffer); 3357} 3358 3359GLboolean glwIsEnabled (GLenum cap) 3360{ 3361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3362 if (!gl) 3363 return (GLboolean)0; 3364 return gl->isEnabled(cap); 3365} 3366 3367GLboolean glwIsEnabledi (GLenum target, GLuint index) 3368{ 3369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3370 if (!gl) 3371 return (GLboolean)0; 3372 return gl->isEnabledi(target, index); 3373} 3374 3375GLboolean glwIsFramebuffer (GLuint framebuffer) 3376{ 3377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3378 if (!gl) 3379 return (GLboolean)0; 3380 return gl->isFramebuffer(framebuffer); 3381} 3382 3383GLboolean glwIsProgram (GLuint program) 3384{ 3385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3386 if (!gl) 3387 return (GLboolean)0; 3388 return gl->isProgram(program); 3389} 3390 3391GLboolean glwIsProgramPipeline (GLuint pipeline) 3392{ 3393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3394 if (!gl) 3395 return (GLboolean)0; 3396 return gl->isProgramPipeline(pipeline); 3397} 3398 3399GLboolean glwIsQuery (GLuint id) 3400{ 3401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3402 if (!gl) 3403 return (GLboolean)0; 3404 return gl->isQuery(id); 3405} 3406 3407GLboolean glwIsRenderbuffer (GLuint renderbuffer) 3408{ 3409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3410 if (!gl) 3411 return (GLboolean)0; 3412 return gl->isRenderbuffer(renderbuffer); 3413} 3414 3415GLboolean glwIsSampler (GLuint sampler) 3416{ 3417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3418 if (!gl) 3419 return (GLboolean)0; 3420 return gl->isSampler(sampler); 3421} 3422 3423GLboolean glwIsShader (GLuint shader) 3424{ 3425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3426 if (!gl) 3427 return (GLboolean)0; 3428 return gl->isShader(shader); 3429} 3430 3431GLboolean glwIsSync (GLsync sync) 3432{ 3433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3434 if (!gl) 3435 return (GLboolean)0; 3436 return gl->isSync(sync); 3437} 3438 3439GLboolean glwIsTexture (GLuint texture) 3440{ 3441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3442 if (!gl) 3443 return (GLboolean)0; 3444 return gl->isTexture(texture); 3445} 3446 3447GLboolean glwIsTransformFeedback (GLuint id) 3448{ 3449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3450 if (!gl) 3451 return (GLboolean)0; 3452 return gl->isTransformFeedback(id); 3453} 3454 3455GLboolean glwIsVertexArray (GLuint array) 3456{ 3457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3458 if (!gl) 3459 return (GLboolean)0; 3460 return gl->isVertexArray(array); 3461} 3462 3463void glwLineWidth (GLfloat width) 3464{ 3465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3466 if (!gl) 3467 return; 3468 gl->lineWidth(width); 3469} 3470 3471void glwLinkProgram (GLuint program) 3472{ 3473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3474 if (!gl) 3475 return; 3476 gl->linkProgram(program); 3477} 3478 3479void glwLogicOp (GLenum opcode) 3480{ 3481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3482 if (!gl) 3483 return; 3484 gl->logicOp(opcode); 3485} 3486 3487void * glwMapBuffer (GLenum target, GLenum access) 3488{ 3489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3490 if (!gl) 3491 return (void *)0; 3492 return gl->mapBuffer(target, access); 3493} 3494 3495void * glwMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) 3496{ 3497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3498 if (!gl) 3499 return (void *)0; 3500 return gl->mapBufferRange(target, offset, length, access); 3501} 3502 3503void * glwMapNamedBuffer (GLuint buffer, GLenum access) 3504{ 3505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3506 if (!gl) 3507 return (void *)0; 3508 return gl->mapNamedBuffer(buffer, access); 3509} 3510 3511void * glwMapNamedBufferEXT (GLuint buffer, GLenum access) 3512{ 3513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3514 if (!gl) 3515 return (void *)0; 3516 return gl->mapNamedBufferEXT(buffer, access); 3517} 3518 3519void * glwMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) 3520{ 3521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3522 if (!gl) 3523 return (void *)0; 3524 return gl->mapNamedBufferRange(buffer, offset, length, access); 3525} 3526 3527void * glwMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) 3528{ 3529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3530 if (!gl) 3531 return (void *)0; 3532 return gl->mapNamedBufferRangeEXT(buffer, offset, length, access); 3533} 3534 3535void glwMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) 3536{ 3537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3538 if (!gl) 3539 return; 3540 gl->matrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar); 3541} 3542 3543void glwMatrixLoadIdentityEXT (GLenum mode) 3544{ 3545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3546 if (!gl) 3547 return; 3548 gl->matrixLoadIdentityEXT(mode); 3549} 3550 3551void glwMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m) 3552{ 3553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3554 if (!gl) 3555 return; 3556 gl->matrixLoadTransposedEXT(mode, m); 3557} 3558 3559void glwMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m) 3560{ 3561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3562 if (!gl) 3563 return; 3564 gl->matrixLoadTransposefEXT(mode, m); 3565} 3566 3567void glwMatrixLoaddEXT (GLenum mode, const GLdouble *m) 3568{ 3569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3570 if (!gl) 3571 return; 3572 gl->matrixLoaddEXT(mode, m); 3573} 3574 3575void glwMatrixLoadfEXT (GLenum mode, const GLfloat *m) 3576{ 3577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3578 if (!gl) 3579 return; 3580 gl->matrixLoadfEXT(mode, m); 3581} 3582 3583void glwMatrixMultTransposedEXT (GLenum mode, const GLdouble *m) 3584{ 3585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3586 if (!gl) 3587 return; 3588 gl->matrixMultTransposedEXT(mode, m); 3589} 3590 3591void glwMatrixMultTransposefEXT (GLenum mode, const GLfloat *m) 3592{ 3593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3594 if (!gl) 3595 return; 3596 gl->matrixMultTransposefEXT(mode, m); 3597} 3598 3599void glwMatrixMultdEXT (GLenum mode, const GLdouble *m) 3600{ 3601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3602 if (!gl) 3603 return; 3604 gl->matrixMultdEXT(mode, m); 3605} 3606 3607void glwMatrixMultfEXT (GLenum mode, const GLfloat *m) 3608{ 3609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3610 if (!gl) 3611 return; 3612 gl->matrixMultfEXT(mode, m); 3613} 3614 3615void glwMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) 3616{ 3617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3618 if (!gl) 3619 return; 3620 gl->matrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar); 3621} 3622 3623void glwMatrixPopEXT (GLenum mode) 3624{ 3625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3626 if (!gl) 3627 return; 3628 gl->matrixPopEXT(mode); 3629} 3630 3631void glwMatrixPushEXT (GLenum mode) 3632{ 3633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3634 if (!gl) 3635 return; 3636 gl->matrixPushEXT(mode); 3637} 3638 3639void glwMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) 3640{ 3641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3642 if (!gl) 3643 return; 3644 gl->matrixRotatedEXT(mode, angle, x, y, z); 3645} 3646 3647void glwMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) 3648{ 3649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3650 if (!gl) 3651 return; 3652 gl->matrixRotatefEXT(mode, angle, x, y, z); 3653} 3654 3655void glwMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z) 3656{ 3657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3658 if (!gl) 3659 return; 3660 gl->matrixScaledEXT(mode, x, y, z); 3661} 3662 3663void glwMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z) 3664{ 3665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3666 if (!gl) 3667 return; 3668 gl->matrixScalefEXT(mode, x, y, z); 3669} 3670 3671void glwMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z) 3672{ 3673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3674 if (!gl) 3675 return; 3676 gl->matrixTranslatedEXT(mode, x, y, z); 3677} 3678 3679void glwMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z) 3680{ 3681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3682 if (!gl) 3683 return; 3684 gl->matrixTranslatefEXT(mode, x, y, z); 3685} 3686 3687void glwMaxShaderCompilerThreadsKHR (GLuint count) 3688{ 3689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3690 if (!gl) 3691 return; 3692 gl->maxShaderCompilerThreadsKHR(count); 3693} 3694 3695void glwMemoryBarrier (GLbitfield barriers) 3696{ 3697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3698 if (!gl) 3699 return; 3700 gl->memoryBarrier(barriers); 3701} 3702 3703void glwMemoryBarrierByRegion (GLbitfield barriers) 3704{ 3705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3706 if (!gl) 3707 return; 3708 gl->memoryBarrierByRegion(barriers); 3709} 3710 3711void glwMinSampleShading (GLfloat value) 3712{ 3713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3714 if (!gl) 3715 return; 3716 gl->minSampleShading(value); 3717} 3718 3719void glwMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) 3720{ 3721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3722 if (!gl) 3723 return; 3724 gl->multiDrawArrays(mode, first, count, drawcount); 3725} 3726 3727void glwMultiDrawArraysIndirect (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) 3728{ 3729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3730 if (!gl) 3731 return; 3732 gl->multiDrawArraysIndirect(mode, indirect, drawcount, stride); 3733} 3734 3735void glwMultiDrawArraysIndirectCount (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) 3736{ 3737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3738 if (!gl) 3739 return; 3740 gl->multiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); 3741} 3742 3743void glwMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount) 3744{ 3745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3746 if (!gl) 3747 return; 3748 gl->multiDrawElements(mode, count, type, indices, drawcount); 3749} 3750 3751void glwMultiDrawElementsBaseVertex (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex) 3752{ 3753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3754 if (!gl) 3755 return; 3756 gl->multiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); 3757} 3758 3759void glwMultiDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) 3760{ 3761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3762 if (!gl) 3763 return; 3764 gl->multiDrawElementsIndirect(mode, type, indirect, drawcount, stride); 3765} 3766 3767void glwMultiDrawElementsIndirectCount (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) 3768{ 3769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3770 if (!gl) 3771 return; 3772 gl->multiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride); 3773} 3774 3775void glwMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) 3776{ 3777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3778 if (!gl) 3779 return; 3780 gl->multiTexBufferEXT(texunit, target, internalformat, buffer); 3781} 3782 3783void glwMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer) 3784{ 3785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3786 if (!gl) 3787 return; 3788 gl->multiTexCoordPointerEXT(texunit, size, type, stride, pointer); 3789} 3790 3791void glwMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param) 3792{ 3793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3794 if (!gl) 3795 return; 3796 gl->multiTexEnvfEXT(texunit, target, pname, param); 3797} 3798 3799void glwMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params) 3800{ 3801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3802 if (!gl) 3803 return; 3804 gl->multiTexEnvfvEXT(texunit, target, pname, params); 3805} 3806 3807void glwMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param) 3808{ 3809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3810 if (!gl) 3811 return; 3812 gl->multiTexEnviEXT(texunit, target, pname, param); 3813} 3814 3815void glwMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params) 3816{ 3817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3818 if (!gl) 3819 return; 3820 gl->multiTexEnvivEXT(texunit, target, pname, params); 3821} 3822 3823void glwMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param) 3824{ 3825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3826 if (!gl) 3827 return; 3828 gl->multiTexGendEXT(texunit, coord, pname, param); 3829} 3830 3831void glwMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params) 3832{ 3833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3834 if (!gl) 3835 return; 3836 gl->multiTexGendvEXT(texunit, coord, pname, params); 3837} 3838 3839void glwMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param) 3840{ 3841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3842 if (!gl) 3843 return; 3844 gl->multiTexGenfEXT(texunit, coord, pname, param); 3845} 3846 3847void glwMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params) 3848{ 3849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3850 if (!gl) 3851 return; 3852 gl->multiTexGenfvEXT(texunit, coord, pname, params); 3853} 3854 3855void glwMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param) 3856{ 3857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3858 if (!gl) 3859 return; 3860 gl->multiTexGeniEXT(texunit, coord, pname, param); 3861} 3862 3863void glwMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params) 3864{ 3865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3866 if (!gl) 3867 return; 3868 gl->multiTexGenivEXT(texunit, coord, pname, params); 3869} 3870 3871void glwMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) 3872{ 3873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3874 if (!gl) 3875 return; 3876 gl->multiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels); 3877} 3878 3879void glwMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) 3880{ 3881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3882 if (!gl) 3883 return; 3884 gl->multiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels); 3885} 3886 3887void glwMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) 3888{ 3889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3890 if (!gl) 3891 return; 3892 gl->multiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels); 3893} 3894 3895void glwMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params) 3896{ 3897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3898 if (!gl) 3899 return; 3900 gl->multiTexParameterIivEXT(texunit, target, pname, params); 3901} 3902 3903void glwMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params) 3904{ 3905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3906 if (!gl) 3907 return; 3908 gl->multiTexParameterIuivEXT(texunit, target, pname, params); 3909} 3910 3911void glwMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param) 3912{ 3913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3914 if (!gl) 3915 return; 3916 gl->multiTexParameterfEXT(texunit, target, pname, param); 3917} 3918 3919void glwMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params) 3920{ 3921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3922 if (!gl) 3923 return; 3924 gl->multiTexParameterfvEXT(texunit, target, pname, params); 3925} 3926 3927void glwMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param) 3928{ 3929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3930 if (!gl) 3931 return; 3932 gl->multiTexParameteriEXT(texunit, target, pname, param); 3933} 3934 3935void glwMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params) 3936{ 3937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3938 if (!gl) 3939 return; 3940 gl->multiTexParameterivEXT(texunit, target, pname, params); 3941} 3942 3943void glwMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer) 3944{ 3945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3946 if (!gl) 3947 return; 3948 gl->multiTexRenderbufferEXT(texunit, target, renderbuffer); 3949} 3950 3951void glwMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) 3952{ 3953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3954 if (!gl) 3955 return; 3956 gl->multiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels); 3957} 3958 3959void glwMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) 3960{ 3961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3962 if (!gl) 3963 return; 3964 gl->multiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels); 3965} 3966 3967void glwMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) 3968{ 3969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3970 if (!gl) 3971 return; 3972 gl->multiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); 3973} 3974 3975void glwMulticastBarrierNV (void) 3976{ 3977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3978 if (!gl) 3979 return; 3980 gl->multicastBarrierNV(); 3981} 3982 3983void glwMulticastBlitFramebufferNV (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) 3984{ 3985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3986 if (!gl) 3987 return; 3988 gl->multicastBlitFramebufferNV(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); 3989} 3990 3991void glwMulticastBufferSubDataNV (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data) 3992{ 3993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 3994 if (!gl) 3995 return; 3996 gl->multicastBufferSubDataNV(gpuMask, buffer, offset, size, data); 3997} 3998 3999void glwMulticastCopyBufferSubDataNV (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 4000{ 4001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4002 if (!gl) 4003 return; 4004 gl->multicastCopyBufferSubDataNV(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size); 4005} 4006 4007void glwMulticastCopyImageSubDataNV (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) 4008{ 4009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4010 if (!gl) 4011 return; 4012 gl->multicastCopyImageSubDataNV(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); 4013} 4014 4015void glwMulticastFramebufferSampleLocationsfvNV (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v) 4016{ 4017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4018 if (!gl) 4019 return; 4020 gl->multicastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, v); 4021} 4022 4023void glwMulticastGetQueryObjecti64vNV (GLuint gpu, GLuint id, GLenum pname, GLint64 *params) 4024{ 4025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4026 if (!gl) 4027 return; 4028 gl->multicastGetQueryObjecti64vNV(gpu, id, pname, params); 4029} 4030 4031void glwMulticastGetQueryObjectivNV (GLuint gpu, GLuint id, GLenum pname, GLint *params) 4032{ 4033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4034 if (!gl) 4035 return; 4036 gl->multicastGetQueryObjectivNV(gpu, id, pname, params); 4037} 4038 4039void glwMulticastGetQueryObjectui64vNV (GLuint gpu, GLuint id, GLenum pname, GLuint64 *params) 4040{ 4041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4042 if (!gl) 4043 return; 4044 gl->multicastGetQueryObjectui64vNV(gpu, id, pname, params); 4045} 4046 4047void glwMulticastGetQueryObjectuivNV (GLuint gpu, GLuint id, GLenum pname, GLuint *params) 4048{ 4049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4050 if (!gl) 4051 return; 4052 gl->multicastGetQueryObjectuivNV(gpu, id, pname, params); 4053} 4054 4055void glwMulticastWaitSyncNV (GLuint signalGpu, GLbitfield waitGpuMask) 4056{ 4057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4058 if (!gl) 4059 return; 4060 gl->multicastWaitSyncNV(signalGpu, waitGpuMask); 4061} 4062 4063void glwNamedBufferData (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) 4064{ 4065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4066 if (!gl) 4067 return; 4068 gl->namedBufferData(buffer, size, data, usage); 4069} 4070 4071void glwNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage) 4072{ 4073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4074 if (!gl) 4075 return; 4076 gl->namedBufferDataEXT(buffer, size, data, usage); 4077} 4078 4079void glwNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) 4080{ 4081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4082 if (!gl) 4083 return; 4084 gl->namedBufferPageCommitmentARB(buffer, offset, size, commit); 4085} 4086 4087void glwNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) 4088{ 4089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4090 if (!gl) 4091 return; 4092 gl->namedBufferPageCommitmentEXT(buffer, offset, size, commit); 4093} 4094 4095void glwNamedBufferStorage (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags) 4096{ 4097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4098 if (!gl) 4099 return; 4100 gl->namedBufferStorage(buffer, size, data, flags); 4101} 4102 4103void glwNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data) 4104{ 4105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4106 if (!gl) 4107 return; 4108 gl->namedBufferSubData(buffer, offset, size, data); 4109} 4110 4111void glwNamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) 4112{ 4113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4114 if (!gl) 4115 return; 4116 gl->namedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size); 4117} 4118 4119void glwNamedFramebufferDrawBuffer (GLuint framebuffer, GLenum buf) 4120{ 4121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4122 if (!gl) 4123 return; 4124 gl->namedFramebufferDrawBuffer(framebuffer, buf); 4125} 4126 4127void glwNamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const GLenum *bufs) 4128{ 4129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4130 if (!gl) 4131 return; 4132 gl->namedFramebufferDrawBuffers(framebuffer, n, bufs); 4133} 4134 4135void glwNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param) 4136{ 4137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4138 if (!gl) 4139 return; 4140 gl->namedFramebufferParameteri(framebuffer, pname, param); 4141} 4142 4143void glwNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param) 4144{ 4145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4146 if (!gl) 4147 return; 4148 gl->namedFramebufferParameteriEXT(framebuffer, pname, param); 4149} 4150 4151void glwNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src) 4152{ 4153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4154 if (!gl) 4155 return; 4156 gl->namedFramebufferReadBuffer(framebuffer, src); 4157} 4158 4159void glwNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 4160{ 4161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4162 if (!gl) 4163 return; 4164 gl->namedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); 4165} 4166 4167void glwNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 4168{ 4169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4170 if (!gl) 4171 return; 4172 gl->namedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer); 4173} 4174 4175void glwNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) 4176{ 4177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4178 if (!gl) 4179 return; 4180 gl->namedFramebufferTexture(framebuffer, attachment, texture, level); 4181} 4182 4183void glwNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 4184{ 4185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4186 if (!gl) 4187 return; 4188 gl->namedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level); 4189} 4190 4191void glwNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 4192{ 4193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4194 if (!gl) 4195 return; 4196 gl->namedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level); 4197} 4198 4199void glwNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 4200{ 4201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4202 if (!gl) 4203 return; 4204 gl->namedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset); 4205} 4206 4207void glwNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) 4208{ 4209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4210 if (!gl) 4211 return; 4212 gl->namedFramebufferTextureEXT(framebuffer, attachment, texture, level); 4213} 4214 4215void glwNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) 4216{ 4217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4218 if (!gl) 4219 return; 4220 gl->namedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face); 4221} 4222 4223void glwNamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) 4224{ 4225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4226 if (!gl) 4227 return; 4228 gl->namedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); 4229} 4230 4231void glwNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) 4232{ 4233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4234 if (!gl) 4235 return; 4236 gl->namedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer); 4237} 4238 4239void glwNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 4240{ 4241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4242 if (!gl) 4243 return; 4244 gl->namedProgramLocalParameter4dEXT(program, target, index, x, y, z, w); 4245} 4246 4247void glwNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params) 4248{ 4249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4250 if (!gl) 4251 return; 4252 gl->namedProgramLocalParameter4dvEXT(program, target, index, params); 4253} 4254 4255void glwNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 4256{ 4257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4258 if (!gl) 4259 return; 4260 gl->namedProgramLocalParameter4fEXT(program, target, index, x, y, z, w); 4261} 4262 4263void glwNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params) 4264{ 4265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4266 if (!gl) 4267 return; 4268 gl->namedProgramLocalParameter4fvEXT(program, target, index, params); 4269} 4270 4271void glwNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) 4272{ 4273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4274 if (!gl) 4275 return; 4276 gl->namedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w); 4277} 4278 4279void glwNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params) 4280{ 4281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4282 if (!gl) 4283 return; 4284 gl->namedProgramLocalParameterI4ivEXT(program, target, index, params); 4285} 4286 4287void glwNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) 4288{ 4289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4290 if (!gl) 4291 return; 4292 gl->namedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w); 4293} 4294 4295void glwNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params) 4296{ 4297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4298 if (!gl) 4299 return; 4300 gl->namedProgramLocalParameterI4uivEXT(program, target, index, params); 4301} 4302 4303void glwNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params) 4304{ 4305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4306 if (!gl) 4307 return; 4308 gl->namedProgramLocalParameters4fvEXT(program, target, index, count, params); 4309} 4310 4311void glwNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params) 4312{ 4313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4314 if (!gl) 4315 return; 4316 gl->namedProgramLocalParametersI4ivEXT(program, target, index, count, params); 4317} 4318 4319void glwNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params) 4320{ 4321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4322 if (!gl) 4323 return; 4324 gl->namedProgramLocalParametersI4uivEXT(program, target, index, count, params); 4325} 4326 4327void glwNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string) 4328{ 4329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4330 if (!gl) 4331 return; 4332 gl->namedProgramStringEXT(program, target, format, len, string); 4333} 4334 4335void glwNamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) 4336{ 4337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4338 if (!gl) 4339 return; 4340 gl->namedRenderbufferStorage(renderbuffer, internalformat, width, height); 4341} 4342 4343void glwNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) 4344{ 4345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4346 if (!gl) 4347 return; 4348 gl->namedRenderbufferStorageEXT(renderbuffer, internalformat, width, height); 4349} 4350 4351void glwNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 4352{ 4353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4354 if (!gl) 4355 return; 4356 gl->namedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); 4357} 4358 4359void glwNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) 4360{ 4361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4362 if (!gl) 4363 return; 4364 gl->namedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height); 4365} 4366 4367void glwNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 4368{ 4369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4370 if (!gl) 4371 return; 4372 gl->namedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height); 4373} 4374 4375void glwObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label) 4376{ 4377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4378 if (!gl) 4379 return; 4380 gl->objectLabel(identifier, name, length, label); 4381} 4382 4383void glwObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label) 4384{ 4385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4386 if (!gl) 4387 return; 4388 gl->objectPtrLabel(ptr, length, label); 4389} 4390 4391void glwPatchParameterfv (GLenum pname, const GLfloat *values) 4392{ 4393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4394 if (!gl) 4395 return; 4396 gl->patchParameterfv(pname, values); 4397} 4398 4399void glwPatchParameteri (GLenum pname, GLint value) 4400{ 4401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4402 if (!gl) 4403 return; 4404 gl->patchParameteri(pname, value); 4405} 4406 4407void glwPauseTransformFeedback (void) 4408{ 4409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4410 if (!gl) 4411 return; 4412 gl->pauseTransformFeedback(); 4413} 4414 4415void glwPixelStoref (GLenum pname, GLfloat param) 4416{ 4417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4418 if (!gl) 4419 return; 4420 gl->pixelStoref(pname, param); 4421} 4422 4423void glwPixelStorei (GLenum pname, GLint param) 4424{ 4425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4426 if (!gl) 4427 return; 4428 gl->pixelStorei(pname, param); 4429} 4430 4431void glwPointParameterf (GLenum pname, GLfloat param) 4432{ 4433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4434 if (!gl) 4435 return; 4436 gl->pointParameterf(pname, param); 4437} 4438 4439void glwPointParameterfv (GLenum pname, const GLfloat *params) 4440{ 4441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4442 if (!gl) 4443 return; 4444 gl->pointParameterfv(pname, params); 4445} 4446 4447void glwPointParameteri (GLenum pname, GLint param) 4448{ 4449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4450 if (!gl) 4451 return; 4452 gl->pointParameteri(pname, param); 4453} 4454 4455void glwPointParameteriv (GLenum pname, const GLint *params) 4456{ 4457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4458 if (!gl) 4459 return; 4460 gl->pointParameteriv(pname, params); 4461} 4462 4463void glwPointSize (GLfloat size) 4464{ 4465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4466 if (!gl) 4467 return; 4468 gl->pointSize(size); 4469} 4470 4471void glwPolygonMode (GLenum face, GLenum mode) 4472{ 4473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4474 if (!gl) 4475 return; 4476 gl->polygonMode(face, mode); 4477} 4478 4479void glwPolygonOffset (GLfloat factor, GLfloat units) 4480{ 4481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4482 if (!gl) 4483 return; 4484 gl->polygonOffset(factor, units); 4485} 4486 4487void glwPolygonOffsetClamp (GLfloat factor, GLfloat units, GLfloat clamp) 4488{ 4489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4490 if (!gl) 4491 return; 4492 gl->polygonOffsetClamp(factor, units, clamp); 4493} 4494 4495void glwPopDebugGroup (void) 4496{ 4497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4498 if (!gl) 4499 return; 4500 gl->popDebugGroup(); 4501} 4502 4503void glwPopGroupMarkerEXT (void) 4504{ 4505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4506 if (!gl) 4507 return; 4508 gl->popGroupMarkerEXT(); 4509} 4510 4511void glwPrimitiveBoundingBox (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) 4512{ 4513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4514 if (!gl) 4515 return; 4516 gl->primitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); 4517} 4518 4519void glwPrimitiveRestartIndex (GLuint index) 4520{ 4521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4522 if (!gl) 4523 return; 4524 gl->primitiveRestartIndex(index); 4525} 4526 4527void glwProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) 4528{ 4529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4530 if (!gl) 4531 return; 4532 gl->programBinary(program, binaryFormat, binary, length); 4533} 4534 4535void glwProgramParameteri (GLuint program, GLenum pname, GLint value) 4536{ 4537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4538 if (!gl) 4539 return; 4540 gl->programParameteri(program, pname, value); 4541} 4542 4543void glwProgramUniform1d (GLuint program, GLint location, GLdouble v0) 4544{ 4545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4546 if (!gl) 4547 return; 4548 gl->programUniform1d(program, location, v0); 4549} 4550 4551void glwProgramUniform1dEXT (GLuint program, GLint location, GLdouble x) 4552{ 4553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4554 if (!gl) 4555 return; 4556 gl->programUniform1dEXT(program, location, x); 4557} 4558 4559void glwProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4560{ 4561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4562 if (!gl) 4563 return; 4564 gl->programUniform1dv(program, location, count, value); 4565} 4566 4567void glwProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4568{ 4569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4570 if (!gl) 4571 return; 4572 gl->programUniform1dvEXT(program, location, count, value); 4573} 4574 4575void glwProgramUniform1f (GLuint program, GLint location, GLfloat v0) 4576{ 4577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4578 if (!gl) 4579 return; 4580 gl->programUniform1f(program, location, v0); 4581} 4582 4583void glwProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) 4584{ 4585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4586 if (!gl) 4587 return; 4588 gl->programUniform1fv(program, location, count, value); 4589} 4590 4591void glwProgramUniform1i (GLuint program, GLint location, GLint v0) 4592{ 4593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4594 if (!gl) 4595 return; 4596 gl->programUniform1i(program, location, v0); 4597} 4598 4599void glwProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value) 4600{ 4601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4602 if (!gl) 4603 return; 4604 gl->programUniform1iv(program, location, count, value); 4605} 4606 4607void glwProgramUniform1ui (GLuint program, GLint location, GLuint v0) 4608{ 4609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4610 if (!gl) 4611 return; 4612 gl->programUniform1ui(program, location, v0); 4613} 4614 4615void glwProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) 4616{ 4617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4618 if (!gl) 4619 return; 4620 gl->programUniform1uiv(program, location, count, value); 4621} 4622 4623void glwProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1) 4624{ 4625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4626 if (!gl) 4627 return; 4628 gl->programUniform2d(program, location, v0, v1); 4629} 4630 4631void glwProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y) 4632{ 4633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4634 if (!gl) 4635 return; 4636 gl->programUniform2dEXT(program, location, x, y); 4637} 4638 4639void glwProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4640{ 4641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4642 if (!gl) 4643 return; 4644 gl->programUniform2dv(program, location, count, value); 4645} 4646 4647void glwProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4648{ 4649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4650 if (!gl) 4651 return; 4652 gl->programUniform2dvEXT(program, location, count, value); 4653} 4654 4655void glwProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1) 4656{ 4657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4658 if (!gl) 4659 return; 4660 gl->programUniform2f(program, location, v0, v1); 4661} 4662 4663void glwProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) 4664{ 4665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4666 if (!gl) 4667 return; 4668 gl->programUniform2fv(program, location, count, value); 4669} 4670 4671void glwProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1) 4672{ 4673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4674 if (!gl) 4675 return; 4676 gl->programUniform2i(program, location, v0, v1); 4677} 4678 4679void glwProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value) 4680{ 4681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4682 if (!gl) 4683 return; 4684 gl->programUniform2iv(program, location, count, value); 4685} 4686 4687void glwProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1) 4688{ 4689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4690 if (!gl) 4691 return; 4692 gl->programUniform2ui(program, location, v0, v1); 4693} 4694 4695void glwProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) 4696{ 4697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4698 if (!gl) 4699 return; 4700 gl->programUniform2uiv(program, location, count, value); 4701} 4702 4703void glwProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) 4704{ 4705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4706 if (!gl) 4707 return; 4708 gl->programUniform3d(program, location, v0, v1, v2); 4709} 4710 4711void glwProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) 4712{ 4713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4714 if (!gl) 4715 return; 4716 gl->programUniform3dEXT(program, location, x, y, z); 4717} 4718 4719void glwProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4720{ 4721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4722 if (!gl) 4723 return; 4724 gl->programUniform3dv(program, location, count, value); 4725} 4726 4727void glwProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4728{ 4729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4730 if (!gl) 4731 return; 4732 gl->programUniform3dvEXT(program, location, count, value); 4733} 4734 4735void glwProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) 4736{ 4737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4738 if (!gl) 4739 return; 4740 gl->programUniform3f(program, location, v0, v1, v2); 4741} 4742 4743void glwProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) 4744{ 4745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4746 if (!gl) 4747 return; 4748 gl->programUniform3fv(program, location, count, value); 4749} 4750 4751void glwProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2) 4752{ 4753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4754 if (!gl) 4755 return; 4756 gl->programUniform3i(program, location, v0, v1, v2); 4757} 4758 4759void glwProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value) 4760{ 4761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4762 if (!gl) 4763 return; 4764 gl->programUniform3iv(program, location, count, value); 4765} 4766 4767void glwProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) 4768{ 4769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4770 if (!gl) 4771 return; 4772 gl->programUniform3ui(program, location, v0, v1, v2); 4773} 4774 4775void glwProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) 4776{ 4777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4778 if (!gl) 4779 return; 4780 gl->programUniform3uiv(program, location, count, value); 4781} 4782 4783void glwProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) 4784{ 4785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4786 if (!gl) 4787 return; 4788 gl->programUniform4d(program, location, v0, v1, v2, v3); 4789} 4790 4791void glwProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 4792{ 4793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4794 if (!gl) 4795 return; 4796 gl->programUniform4dEXT(program, location, x, y, z, w); 4797} 4798 4799void glwProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4800{ 4801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4802 if (!gl) 4803 return; 4804 gl->programUniform4dv(program, location, count, value); 4805} 4806 4807void glwProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value) 4808{ 4809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4810 if (!gl) 4811 return; 4812 gl->programUniform4dvEXT(program, location, count, value); 4813} 4814 4815void glwProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) 4816{ 4817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4818 if (!gl) 4819 return; 4820 gl->programUniform4f(program, location, v0, v1, v2, v3); 4821} 4822 4823void glwProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value) 4824{ 4825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4826 if (!gl) 4827 return; 4828 gl->programUniform4fv(program, location, count, value); 4829} 4830 4831void glwProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) 4832{ 4833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4834 if (!gl) 4835 return; 4836 gl->programUniform4i(program, location, v0, v1, v2, v3); 4837} 4838 4839void glwProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value) 4840{ 4841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4842 if (!gl) 4843 return; 4844 gl->programUniform4iv(program, location, count, value); 4845} 4846 4847void glwProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 4848{ 4849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4850 if (!gl) 4851 return; 4852 gl->programUniform4ui(program, location, v0, v1, v2, v3); 4853} 4854 4855void glwProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value) 4856{ 4857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4858 if (!gl) 4859 return; 4860 gl->programUniform4uiv(program, location, count, value); 4861} 4862 4863void glwProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4864{ 4865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4866 if (!gl) 4867 return; 4868 gl->programUniformMatrix2dv(program, location, count, transpose, value); 4869} 4870 4871void glwProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4872{ 4873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4874 if (!gl) 4875 return; 4876 gl->programUniformMatrix2dvEXT(program, location, count, transpose, value); 4877} 4878 4879void glwProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 4880{ 4881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4882 if (!gl) 4883 return; 4884 gl->programUniformMatrix2fv(program, location, count, transpose, value); 4885} 4886 4887void glwProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4888{ 4889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4890 if (!gl) 4891 return; 4892 gl->programUniformMatrix2x3dv(program, location, count, transpose, value); 4893} 4894 4895void glwProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4896{ 4897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4898 if (!gl) 4899 return; 4900 gl->programUniformMatrix2x3dvEXT(program, location, count, transpose, value); 4901} 4902 4903void glwProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 4904{ 4905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4906 if (!gl) 4907 return; 4908 gl->programUniformMatrix2x3fv(program, location, count, transpose, value); 4909} 4910 4911void glwProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4912{ 4913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4914 if (!gl) 4915 return; 4916 gl->programUniformMatrix2x4dv(program, location, count, transpose, value); 4917} 4918 4919void glwProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4920{ 4921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4922 if (!gl) 4923 return; 4924 gl->programUniformMatrix2x4dvEXT(program, location, count, transpose, value); 4925} 4926 4927void glwProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 4928{ 4929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4930 if (!gl) 4931 return; 4932 gl->programUniformMatrix2x4fv(program, location, count, transpose, value); 4933} 4934 4935void glwProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4936{ 4937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4938 if (!gl) 4939 return; 4940 gl->programUniformMatrix3dv(program, location, count, transpose, value); 4941} 4942 4943void glwProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4944{ 4945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4946 if (!gl) 4947 return; 4948 gl->programUniformMatrix3dvEXT(program, location, count, transpose, value); 4949} 4950 4951void glwProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 4952{ 4953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4954 if (!gl) 4955 return; 4956 gl->programUniformMatrix3fv(program, location, count, transpose, value); 4957} 4958 4959void glwProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4960{ 4961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4962 if (!gl) 4963 return; 4964 gl->programUniformMatrix3x2dv(program, location, count, transpose, value); 4965} 4966 4967void glwProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4968{ 4969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4970 if (!gl) 4971 return; 4972 gl->programUniformMatrix3x2dvEXT(program, location, count, transpose, value); 4973} 4974 4975void glwProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 4976{ 4977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4978 if (!gl) 4979 return; 4980 gl->programUniformMatrix3x2fv(program, location, count, transpose, value); 4981} 4982 4983void glwProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4984{ 4985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4986 if (!gl) 4987 return; 4988 gl->programUniformMatrix3x4dv(program, location, count, transpose, value); 4989} 4990 4991void glwProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 4992{ 4993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 4994 if (!gl) 4995 return; 4996 gl->programUniformMatrix3x4dvEXT(program, location, count, transpose, value); 4997} 4998 4999void glwProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 5000{ 5001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5002 if (!gl) 5003 return; 5004 gl->programUniformMatrix3x4fv(program, location, count, transpose, value); 5005} 5006 5007void glwProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5008{ 5009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5010 if (!gl) 5011 return; 5012 gl->programUniformMatrix4dv(program, location, count, transpose, value); 5013} 5014 5015void glwProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5016{ 5017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5018 if (!gl) 5019 return; 5020 gl->programUniformMatrix4dvEXT(program, location, count, transpose, value); 5021} 5022 5023void glwProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 5024{ 5025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5026 if (!gl) 5027 return; 5028 gl->programUniformMatrix4fv(program, location, count, transpose, value); 5029} 5030 5031void glwProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5032{ 5033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5034 if (!gl) 5035 return; 5036 gl->programUniformMatrix4x2dv(program, location, count, transpose, value); 5037} 5038 5039void glwProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5040{ 5041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5042 if (!gl) 5043 return; 5044 gl->programUniformMatrix4x2dvEXT(program, location, count, transpose, value); 5045} 5046 5047void glwProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 5048{ 5049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5050 if (!gl) 5051 return; 5052 gl->programUniformMatrix4x2fv(program, location, count, transpose, value); 5053} 5054 5055void glwProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5056{ 5057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5058 if (!gl) 5059 return; 5060 gl->programUniformMatrix4x3dv(program, location, count, transpose, value); 5061} 5062 5063void glwProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 5064{ 5065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5066 if (!gl) 5067 return; 5068 gl->programUniformMatrix4x3dvEXT(program, location, count, transpose, value); 5069} 5070 5071void glwProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 5072{ 5073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5074 if (!gl) 5075 return; 5076 gl->programUniformMatrix4x3fv(program, location, count, transpose, value); 5077} 5078 5079void glwProvokingVertex (GLenum mode) 5080{ 5081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5082 if (!gl) 5083 return; 5084 gl->provokingVertex(mode); 5085} 5086 5087void glwPushClientAttribDefaultEXT (GLbitfield mask) 5088{ 5089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5090 if (!gl) 5091 return; 5092 gl->pushClientAttribDefaultEXT(mask); 5093} 5094 5095void glwPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message) 5096{ 5097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5098 if (!gl) 5099 return; 5100 gl->pushDebugGroup(source, id, length, message); 5101} 5102 5103void glwPushGroupMarkerEXT (GLsizei length, const GLchar *marker) 5104{ 5105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5106 if (!gl) 5107 return; 5108 gl->pushGroupMarkerEXT(length, marker); 5109} 5110 5111void glwQueryCounter (GLuint id, GLenum target) 5112{ 5113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5114 if (!gl) 5115 return; 5116 gl->queryCounter(id, target); 5117} 5118 5119void glwReadBuffer (GLenum src) 5120{ 5121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5122 if (!gl) 5123 return; 5124 gl->readBuffer(src); 5125} 5126 5127void glwReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) 5128{ 5129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5130 if (!gl) 5131 return; 5132 gl->readPixels(x, y, width, height, format, type, pixels); 5133} 5134 5135void glwReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) 5136{ 5137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5138 if (!gl) 5139 return; 5140 gl->readnPixels(x, y, width, height, format, type, bufSize, data); 5141} 5142 5143void glwReleaseShaderCompiler (void) 5144{ 5145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5146 if (!gl) 5147 return; 5148 gl->releaseShaderCompiler(); 5149} 5150 5151void glwRenderGpuMaskNV (GLbitfield mask) 5152{ 5153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5154 if (!gl) 5155 return; 5156 gl->renderGpuMaskNV(mask); 5157} 5158 5159void glwRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height) 5160{ 5161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5162 if (!gl) 5163 return; 5164 gl->renderbufferStorage(target, internalformat, width, height); 5165} 5166 5167void glwRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 5168{ 5169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5170 if (!gl) 5171 return; 5172 gl->renderbufferStorageMultisample(target, samples, internalformat, width, height); 5173} 5174 5175void glwRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) 5176{ 5177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5178 if (!gl) 5179 return; 5180 gl->renderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); 5181} 5182 5183void glwResumeTransformFeedback (void) 5184{ 5185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5186 if (!gl) 5187 return; 5188 gl->resumeTransformFeedback(); 5189} 5190 5191void glwSampleCoverage (GLfloat value, GLboolean invert) 5192{ 5193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5194 if (!gl) 5195 return; 5196 gl->sampleCoverage(value, invert); 5197} 5198 5199void glwSampleMaski (GLuint maskNumber, GLbitfield mask) 5200{ 5201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5202 if (!gl) 5203 return; 5204 gl->sampleMaski(maskNumber, mask); 5205} 5206 5207void glwSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param) 5208{ 5209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5210 if (!gl) 5211 return; 5212 gl->samplerParameterIiv(sampler, pname, param); 5213} 5214 5215void glwSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param) 5216{ 5217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5218 if (!gl) 5219 return; 5220 gl->samplerParameterIuiv(sampler, pname, param); 5221} 5222 5223void glwSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param) 5224{ 5225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5226 if (!gl) 5227 return; 5228 gl->samplerParameterf(sampler, pname, param); 5229} 5230 5231void glwSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param) 5232{ 5233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5234 if (!gl) 5235 return; 5236 gl->samplerParameterfv(sampler, pname, param); 5237} 5238 5239void glwSamplerParameteri (GLuint sampler, GLenum pname, GLint param) 5240{ 5241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5242 if (!gl) 5243 return; 5244 gl->samplerParameteri(sampler, pname, param); 5245} 5246 5247void glwSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param) 5248{ 5249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5250 if (!gl) 5251 return; 5252 gl->samplerParameteriv(sampler, pname, param); 5253} 5254 5255void glwScissor (GLint x, GLint y, GLsizei width, GLsizei height) 5256{ 5257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5258 if (!gl) 5259 return; 5260 gl->scissor(x, y, width, height); 5261} 5262 5263void glwScissorArrayv (GLuint first, GLsizei count, const GLint *v) 5264{ 5265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5266 if (!gl) 5267 return; 5268 gl->scissorArrayv(first, count, v); 5269} 5270 5271void glwScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) 5272{ 5273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5274 if (!gl) 5275 return; 5276 gl->scissorIndexed(index, left, bottom, width, height); 5277} 5278 5279void glwScissorIndexedv (GLuint index, const GLint *v) 5280{ 5281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5282 if (!gl) 5283 return; 5284 gl->scissorIndexedv(index, v); 5285} 5286 5287void glwShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length) 5288{ 5289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5290 if (!gl) 5291 return; 5292 gl->shaderBinary(count, shaders, binaryFormat, binary, length); 5293} 5294 5295void glwShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length) 5296{ 5297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5298 if (!gl) 5299 return; 5300 gl->shaderSource(shader, count, string, length); 5301} 5302 5303void glwShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) 5304{ 5305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5306 if (!gl) 5307 return; 5308 gl->shaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); 5309} 5310 5311void glwShadingRateEXT (GLenum rate) 5312{ 5313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5314 if (!gl) 5315 return; 5316 gl->shadingRateEXT(rate); 5317} 5318 5319void glwShadingRateCombinerOpsEXT (GLenum combinerOp0, GLenum combinerOp1) 5320{ 5321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5322 if (!gl) 5323 return; 5324 gl->shadingRateCombinerOpsEXT(combinerOp0, combinerOp1); 5325} 5326 5327void glwSpecializeShader (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue) 5328{ 5329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5330 if (!gl) 5331 return; 5332 gl->specializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); 5333} 5334 5335void glwStencilFunc (GLenum func, GLint ref, GLuint mask) 5336{ 5337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5338 if (!gl) 5339 return; 5340 gl->stencilFunc(func, ref, mask); 5341} 5342 5343void glwStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask) 5344{ 5345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5346 if (!gl) 5347 return; 5348 gl->stencilFuncSeparate(face, func, ref, mask); 5349} 5350 5351void glwStencilMask (GLuint mask) 5352{ 5353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5354 if (!gl) 5355 return; 5356 gl->stencilMask(mask); 5357} 5358 5359void glwStencilMaskSeparate (GLenum face, GLuint mask) 5360{ 5361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5362 if (!gl) 5363 return; 5364 gl->stencilMaskSeparate(face, mask); 5365} 5366 5367void glwStencilOp (GLenum fail, GLenum zfail, GLenum zpass) 5368{ 5369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5370 if (!gl) 5371 return; 5372 gl->stencilOp(fail, zfail, zpass); 5373} 5374 5375void glwStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) 5376{ 5377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5378 if (!gl) 5379 return; 5380 gl->stencilOpSeparate(face, sfail, dpfail, dppass); 5381} 5382 5383void glwTexBuffer (GLenum target, GLenum internalformat, GLuint buffer) 5384{ 5385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5386 if (!gl) 5387 return; 5388 gl->texBuffer(target, internalformat, buffer); 5389} 5390 5391void glwTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) 5392{ 5393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5394 if (!gl) 5395 return; 5396 gl->texBufferRange(target, internalformat, buffer, offset, size); 5397} 5398 5399void glwTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) 5400{ 5401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5402 if (!gl) 5403 return; 5404 gl->texImage1D(target, level, internalformat, width, border, format, type, pixels); 5405} 5406 5407void glwTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) 5408{ 5409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5410 if (!gl) 5411 return; 5412 gl->texImage2D(target, level, internalformat, width, height, border, format, type, pixels); 5413} 5414 5415void glwTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) 5416{ 5417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5418 if (!gl) 5419 return; 5420 gl->texImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); 5421} 5422 5423void glwTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) 5424{ 5425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5426 if (!gl) 5427 return; 5428 gl->texImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); 5429} 5430 5431void glwTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) 5432{ 5433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5434 if (!gl) 5435 return; 5436 gl->texImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); 5437} 5438 5439void glwTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) 5440{ 5441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5442 if (!gl) 5443 return; 5444 gl->texImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels); 5445} 5446 5447void glwTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) 5448{ 5449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5450 if (!gl) 5451 return; 5452 gl->texPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); 5453} 5454 5455void glwTexParameterIiv (GLenum target, GLenum pname, const GLint *params) 5456{ 5457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5458 if (!gl) 5459 return; 5460 gl->texParameterIiv(target, pname, params); 5461} 5462 5463void glwTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params) 5464{ 5465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5466 if (!gl) 5467 return; 5468 gl->texParameterIuiv(target, pname, params); 5469} 5470 5471void glwTexParameterf (GLenum target, GLenum pname, GLfloat param) 5472{ 5473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5474 if (!gl) 5475 return; 5476 gl->texParameterf(target, pname, param); 5477} 5478 5479void glwTexParameterfv (GLenum target, GLenum pname, const GLfloat *params) 5480{ 5481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5482 if (!gl) 5483 return; 5484 gl->texParameterfv(target, pname, params); 5485} 5486 5487void glwTexParameteri (GLenum target, GLenum pname, GLint param) 5488{ 5489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5490 if (!gl) 5491 return; 5492 gl->texParameteri(target, pname, param); 5493} 5494 5495void glwTexParameteriv (GLenum target, GLenum pname, const GLint *params) 5496{ 5497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5498 if (!gl) 5499 return; 5500 gl->texParameteriv(target, pname, params); 5501} 5502 5503void glwTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 5504{ 5505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5506 if (!gl) 5507 return; 5508 gl->texStorage1D(target, levels, internalformat, width); 5509} 5510 5511void glwTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 5512{ 5513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5514 if (!gl) 5515 return; 5516 gl->texStorage2D(target, levels, internalformat, width, height); 5517} 5518 5519void glwTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) 5520{ 5521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5522 if (!gl) 5523 return; 5524 gl->texStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); 5525} 5526 5527void glwTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 5528{ 5529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5530 if (!gl) 5531 return; 5532 gl->texStorage3D(target, levels, internalformat, width, height, depth); 5533} 5534 5535void glwTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) 5536{ 5537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5538 if (!gl) 5539 return; 5540 gl->texStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); 5541} 5542 5543void glwTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) 5544{ 5545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5546 if (!gl) 5547 return; 5548 gl->texSubImage1D(target, level, xoffset, width, format, type, pixels); 5549} 5550 5551void glwTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) 5552{ 5553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5554 if (!gl) 5555 return; 5556 gl->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); 5557} 5558 5559void glwTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) 5560{ 5561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5562 if (!gl) 5563 return; 5564 gl->texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); 5565} 5566 5567void glwTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) 5568{ 5569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5570 if (!gl) 5571 return; 5572 gl->texSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); 5573} 5574 5575void glwTextureBarrier (void) 5576{ 5577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5578 if (!gl) 5579 return; 5580 gl->textureBarrier(); 5581} 5582 5583void glwTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer) 5584{ 5585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5586 if (!gl) 5587 return; 5588 gl->textureBuffer(texture, internalformat, buffer); 5589} 5590 5591void glwTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) 5592{ 5593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5594 if (!gl) 5595 return; 5596 gl->textureBufferEXT(texture, target, internalformat, buffer); 5597} 5598 5599void glwTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) 5600{ 5601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5602 if (!gl) 5603 return; 5604 gl->textureBufferRange(texture, internalformat, buffer, offset, size); 5605} 5606 5607void glwTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) 5608{ 5609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5610 if (!gl) 5611 return; 5612 gl->textureBufferRangeEXT(texture, target, internalformat, buffer, offset, size); 5613} 5614 5615void glwTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) 5616{ 5617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5618 if (!gl) 5619 return; 5620 gl->textureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels); 5621} 5622 5623void glwTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) 5624{ 5625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5626 if (!gl) 5627 return; 5628 gl->textureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels); 5629} 5630 5631void glwTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) 5632{ 5633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5634 if (!gl) 5635 return; 5636 gl->textureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels); 5637} 5638 5639void glwTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) 5640{ 5641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5642 if (!gl) 5643 return; 5644 gl->texturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); 5645} 5646 5647void glwTextureParameterIiv (GLuint texture, GLenum pname, const GLint *params) 5648{ 5649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5650 if (!gl) 5651 return; 5652 gl->textureParameterIiv(texture, pname, params); 5653} 5654 5655void glwTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params) 5656{ 5657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5658 if (!gl) 5659 return; 5660 gl->textureParameterIivEXT(texture, target, pname, params); 5661} 5662 5663void glwTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params) 5664{ 5665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5666 if (!gl) 5667 return; 5668 gl->textureParameterIuiv(texture, pname, params); 5669} 5670 5671void glwTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params) 5672{ 5673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5674 if (!gl) 5675 return; 5676 gl->textureParameterIuivEXT(texture, target, pname, params); 5677} 5678 5679void glwTextureParameterf (GLuint texture, GLenum pname, GLfloat param) 5680{ 5681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5682 if (!gl) 5683 return; 5684 gl->textureParameterf(texture, pname, param); 5685} 5686 5687void glwTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param) 5688{ 5689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5690 if (!gl) 5691 return; 5692 gl->textureParameterfEXT(texture, target, pname, param); 5693} 5694 5695void glwTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param) 5696{ 5697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5698 if (!gl) 5699 return; 5700 gl->textureParameterfv(texture, pname, param); 5701} 5702 5703void glwTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params) 5704{ 5705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5706 if (!gl) 5707 return; 5708 gl->textureParameterfvEXT(texture, target, pname, params); 5709} 5710 5711void glwTextureParameteri (GLuint texture, GLenum pname, GLint param) 5712{ 5713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5714 if (!gl) 5715 return; 5716 gl->textureParameteri(texture, pname, param); 5717} 5718 5719void glwTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param) 5720{ 5721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5722 if (!gl) 5723 return; 5724 gl->textureParameteriEXT(texture, target, pname, param); 5725} 5726 5727void glwTextureParameteriv (GLuint texture, GLenum pname, const GLint *param) 5728{ 5729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5730 if (!gl) 5731 return; 5732 gl->textureParameteriv(texture, pname, param); 5733} 5734 5735void glwTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params) 5736{ 5737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5738 if (!gl) 5739 return; 5740 gl->textureParameterivEXT(texture, target, pname, params); 5741} 5742 5743void glwTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer) 5744{ 5745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5746 if (!gl) 5747 return; 5748 gl->textureRenderbufferEXT(texture, target, renderbuffer); 5749} 5750 5751void glwTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) 5752{ 5753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5754 if (!gl) 5755 return; 5756 gl->textureStorage1D(texture, levels, internalformat, width); 5757} 5758 5759void glwTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) 5760{ 5761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5762 if (!gl) 5763 return; 5764 gl->textureStorage1DEXT(texture, target, levels, internalformat, width); 5765} 5766 5767void glwTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 5768{ 5769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5770 if (!gl) 5771 return; 5772 gl->textureStorage2D(texture, levels, internalformat, width, height); 5773} 5774 5775void glwTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) 5776{ 5777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5778 if (!gl) 5779 return; 5780 gl->textureStorage2DEXT(texture, target, levels, internalformat, width, height); 5781} 5782 5783void glwTextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) 5784{ 5785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5786 if (!gl) 5787 return; 5788 gl->textureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); 5789} 5790 5791void glwTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) 5792{ 5793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5794 if (!gl) 5795 return; 5796 gl->textureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations); 5797} 5798 5799void glwTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 5800{ 5801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5802 if (!gl) 5803 return; 5804 gl->textureStorage3D(texture, levels, internalformat, width, height, depth); 5805} 5806 5807void glwTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) 5808{ 5809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5810 if (!gl) 5811 return; 5812 gl->textureStorage3DEXT(texture, target, levels, internalformat, width, height, depth); 5813} 5814 5815void glwTextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) 5816{ 5817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5818 if (!gl) 5819 return; 5820 gl->textureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); 5821} 5822 5823void glwTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) 5824{ 5825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5826 if (!gl) 5827 return; 5828 gl->textureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); 5829} 5830 5831void glwTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) 5832{ 5833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5834 if (!gl) 5835 return; 5836 gl->textureSubImage1D(texture, level, xoffset, width, format, type, pixels); 5837} 5838 5839void glwTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) 5840{ 5841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5842 if (!gl) 5843 return; 5844 gl->textureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels); 5845} 5846 5847void glwTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) 5848{ 5849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5850 if (!gl) 5851 return; 5852 gl->textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); 5853} 5854 5855void glwTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) 5856{ 5857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5858 if (!gl) 5859 return; 5860 gl->textureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels); 5861} 5862 5863void glwTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) 5864{ 5865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5866 if (!gl) 5867 return; 5868 gl->textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); 5869} 5870 5871void glwTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) 5872{ 5873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5874 if (!gl) 5875 return; 5876 gl->textureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); 5877} 5878 5879void glwTextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) 5880{ 5881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5882 if (!gl) 5883 return; 5884 gl->textureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); 5885} 5886 5887void glwTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer) 5888{ 5889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5890 if (!gl) 5891 return; 5892 gl->transformFeedbackBufferBase(xfb, index, buffer); 5893} 5894 5895void glwTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) 5896{ 5897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5898 if (!gl) 5899 return; 5900 gl->transformFeedbackBufferRange(xfb, index, buffer, offset, size); 5901} 5902 5903void glwTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode) 5904{ 5905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5906 if (!gl) 5907 return; 5908 gl->transformFeedbackVaryings(program, count, varyings, bufferMode); 5909} 5910 5911void glwUniform1d (GLint location, GLdouble x) 5912{ 5913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5914 if (!gl) 5915 return; 5916 gl->uniform1d(location, x); 5917} 5918 5919void glwUniform1dv (GLint location, GLsizei count, const GLdouble *value) 5920{ 5921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5922 if (!gl) 5923 return; 5924 gl->uniform1dv(location, count, value); 5925} 5926 5927void glwUniform1f (GLint location, GLfloat v0) 5928{ 5929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5930 if (!gl) 5931 return; 5932 gl->uniform1f(location, v0); 5933} 5934 5935void glwUniform1fv (GLint location, GLsizei count, const GLfloat *value) 5936{ 5937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5938 if (!gl) 5939 return; 5940 gl->uniform1fv(location, count, value); 5941} 5942 5943void glwUniform1i (GLint location, GLint v0) 5944{ 5945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5946 if (!gl) 5947 return; 5948 gl->uniform1i(location, v0); 5949} 5950 5951void glwUniform1iv (GLint location, GLsizei count, const GLint *value) 5952{ 5953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5954 if (!gl) 5955 return; 5956 gl->uniform1iv(location, count, value); 5957} 5958 5959void glwUniform1ui (GLint location, GLuint v0) 5960{ 5961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5962 if (!gl) 5963 return; 5964 gl->uniform1ui(location, v0); 5965} 5966 5967void glwUniform1uiv (GLint location, GLsizei count, const GLuint *value) 5968{ 5969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5970 if (!gl) 5971 return; 5972 gl->uniform1uiv(location, count, value); 5973} 5974 5975void glwUniform2d (GLint location, GLdouble x, GLdouble y) 5976{ 5977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5978 if (!gl) 5979 return; 5980 gl->uniform2d(location, x, y); 5981} 5982 5983void glwUniform2dv (GLint location, GLsizei count, const GLdouble *value) 5984{ 5985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5986 if (!gl) 5987 return; 5988 gl->uniform2dv(location, count, value); 5989} 5990 5991void glwUniform2f (GLint location, GLfloat v0, GLfloat v1) 5992{ 5993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 5994 if (!gl) 5995 return; 5996 gl->uniform2f(location, v0, v1); 5997} 5998 5999void glwUniform2fv (GLint location, GLsizei count, const GLfloat *value) 6000{ 6001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6002 if (!gl) 6003 return; 6004 gl->uniform2fv(location, count, value); 6005} 6006 6007void glwUniform2i (GLint location, GLint v0, GLint v1) 6008{ 6009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6010 if (!gl) 6011 return; 6012 gl->uniform2i(location, v0, v1); 6013} 6014 6015void glwUniform2iv (GLint location, GLsizei count, const GLint *value) 6016{ 6017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6018 if (!gl) 6019 return; 6020 gl->uniform2iv(location, count, value); 6021} 6022 6023void glwUniform2ui (GLint location, GLuint v0, GLuint v1) 6024{ 6025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6026 if (!gl) 6027 return; 6028 gl->uniform2ui(location, v0, v1); 6029} 6030 6031void glwUniform2uiv (GLint location, GLsizei count, const GLuint *value) 6032{ 6033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6034 if (!gl) 6035 return; 6036 gl->uniform2uiv(location, count, value); 6037} 6038 6039void glwUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z) 6040{ 6041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6042 if (!gl) 6043 return; 6044 gl->uniform3d(location, x, y, z); 6045} 6046 6047void glwUniform3dv (GLint location, GLsizei count, const GLdouble *value) 6048{ 6049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6050 if (!gl) 6051 return; 6052 gl->uniform3dv(location, count, value); 6053} 6054 6055void glwUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2) 6056{ 6057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6058 if (!gl) 6059 return; 6060 gl->uniform3f(location, v0, v1, v2); 6061} 6062 6063void glwUniform3fv (GLint location, GLsizei count, const GLfloat *value) 6064{ 6065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6066 if (!gl) 6067 return; 6068 gl->uniform3fv(location, count, value); 6069} 6070 6071void glwUniform3i (GLint location, GLint v0, GLint v1, GLint v2) 6072{ 6073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6074 if (!gl) 6075 return; 6076 gl->uniform3i(location, v0, v1, v2); 6077} 6078 6079void glwUniform3iv (GLint location, GLsizei count, const GLint *value) 6080{ 6081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6082 if (!gl) 6083 return; 6084 gl->uniform3iv(location, count, value); 6085} 6086 6087void glwUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2) 6088{ 6089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6090 if (!gl) 6091 return; 6092 gl->uniform3ui(location, v0, v1, v2); 6093} 6094 6095void glwUniform3uiv (GLint location, GLsizei count, const GLuint *value) 6096{ 6097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6098 if (!gl) 6099 return; 6100 gl->uniform3uiv(location, count, value); 6101} 6102 6103void glwUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 6104{ 6105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6106 if (!gl) 6107 return; 6108 gl->uniform4d(location, x, y, z, w); 6109} 6110 6111void glwUniform4dv (GLint location, GLsizei count, const GLdouble *value) 6112{ 6113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6114 if (!gl) 6115 return; 6116 gl->uniform4dv(location, count, value); 6117} 6118 6119void glwUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) 6120{ 6121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6122 if (!gl) 6123 return; 6124 gl->uniform4f(location, v0, v1, v2, v3); 6125} 6126 6127void glwUniform4fv (GLint location, GLsizei count, const GLfloat *value) 6128{ 6129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6130 if (!gl) 6131 return; 6132 gl->uniform4fv(location, count, value); 6133} 6134 6135void glwUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3) 6136{ 6137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6138 if (!gl) 6139 return; 6140 gl->uniform4i(location, v0, v1, v2, v3); 6141} 6142 6143void glwUniform4iv (GLint location, GLsizei count, const GLint *value) 6144{ 6145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6146 if (!gl) 6147 return; 6148 gl->uniform4iv(location, count, value); 6149} 6150 6151void glwUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) 6152{ 6153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6154 if (!gl) 6155 return; 6156 gl->uniform4ui(location, v0, v1, v2, v3); 6157} 6158 6159void glwUniform4uiv (GLint location, GLsizei count, const GLuint *value) 6160{ 6161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6162 if (!gl) 6163 return; 6164 gl->uniform4uiv(location, count, value); 6165} 6166 6167void glwUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) 6168{ 6169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6170 if (!gl) 6171 return; 6172 gl->uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); 6173} 6174 6175void glwUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6176{ 6177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6178 if (!gl) 6179 return; 6180 gl->uniformMatrix2dv(location, count, transpose, value); 6181} 6182 6183void glwUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6184{ 6185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6186 if (!gl) 6187 return; 6188 gl->uniformMatrix2fv(location, count, transpose, value); 6189} 6190 6191void glwUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6192{ 6193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6194 if (!gl) 6195 return; 6196 gl->uniformMatrix2x3dv(location, count, transpose, value); 6197} 6198 6199void glwUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6200{ 6201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6202 if (!gl) 6203 return; 6204 gl->uniformMatrix2x3fv(location, count, transpose, value); 6205} 6206 6207void glwUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6208{ 6209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6210 if (!gl) 6211 return; 6212 gl->uniformMatrix2x4dv(location, count, transpose, value); 6213} 6214 6215void glwUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6216{ 6217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6218 if (!gl) 6219 return; 6220 gl->uniformMatrix2x4fv(location, count, transpose, value); 6221} 6222 6223void glwUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6224{ 6225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6226 if (!gl) 6227 return; 6228 gl->uniformMatrix3dv(location, count, transpose, value); 6229} 6230 6231void glwUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6232{ 6233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6234 if (!gl) 6235 return; 6236 gl->uniformMatrix3fv(location, count, transpose, value); 6237} 6238 6239void glwUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6240{ 6241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6242 if (!gl) 6243 return; 6244 gl->uniformMatrix3x2dv(location, count, transpose, value); 6245} 6246 6247void glwUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6248{ 6249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6250 if (!gl) 6251 return; 6252 gl->uniformMatrix3x2fv(location, count, transpose, value); 6253} 6254 6255void glwUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6256{ 6257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6258 if (!gl) 6259 return; 6260 gl->uniformMatrix3x4dv(location, count, transpose, value); 6261} 6262 6263void glwUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6264{ 6265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6266 if (!gl) 6267 return; 6268 gl->uniformMatrix3x4fv(location, count, transpose, value); 6269} 6270 6271void glwUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6272{ 6273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6274 if (!gl) 6275 return; 6276 gl->uniformMatrix4dv(location, count, transpose, value); 6277} 6278 6279void glwUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6280{ 6281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6282 if (!gl) 6283 return; 6284 gl->uniformMatrix4fv(location, count, transpose, value); 6285} 6286 6287void glwUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6288{ 6289 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6290 if (!gl) 6291 return; 6292 gl->uniformMatrix4x2dv(location, count, transpose, value); 6293} 6294 6295void glwUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6296{ 6297 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6298 if (!gl) 6299 return; 6300 gl->uniformMatrix4x2fv(location, count, transpose, value); 6301} 6302 6303void glwUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) 6304{ 6305 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6306 if (!gl) 6307 return; 6308 gl->uniformMatrix4x3dv(location, count, transpose, value); 6309} 6310 6311void glwUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) 6312{ 6313 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6314 if (!gl) 6315 return; 6316 gl->uniformMatrix4x3fv(location, count, transpose, value); 6317} 6318 6319void glwUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices) 6320{ 6321 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6322 if (!gl) 6323 return; 6324 gl->uniformSubroutinesuiv(shadertype, count, indices); 6325} 6326 6327GLboolean glwUnmapBuffer (GLenum target) 6328{ 6329 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6330 if (!gl) 6331 return (GLboolean)0; 6332 return gl->unmapBuffer(target); 6333} 6334 6335GLboolean glwUnmapNamedBuffer (GLuint buffer) 6336{ 6337 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6338 if (!gl) 6339 return (GLboolean)0; 6340 return gl->unmapNamedBuffer(buffer); 6341} 6342 6343GLboolean glwUnmapNamedBufferEXT (GLuint buffer) 6344{ 6345 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6346 if (!gl) 6347 return (GLboolean)0; 6348 return gl->unmapNamedBufferEXT(buffer); 6349} 6350 6351void glwUseProgram (GLuint program) 6352{ 6353 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6354 if (!gl) 6355 return; 6356 gl->useProgram(program); 6357} 6358 6359void glwUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program) 6360{ 6361 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6362 if (!gl) 6363 return; 6364 gl->useProgramStages(pipeline, stages, program); 6365} 6366 6367void glwValidateProgram (GLuint program) 6368{ 6369 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6370 if (!gl) 6371 return; 6372 gl->validateProgram(program); 6373} 6374 6375void glwValidateProgramPipeline (GLuint pipeline) 6376{ 6377 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6378 if (!gl) 6379 return; 6380 gl->validateProgramPipeline(pipeline); 6381} 6382 6383void glwVertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex) 6384{ 6385 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6386 if (!gl) 6387 return; 6388 gl->vertexArrayAttribBinding(vaobj, attribindex, bindingindex); 6389} 6390 6391void glwVertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) 6392{ 6393 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6394 if (!gl) 6395 return; 6396 gl->vertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); 6397} 6398 6399void glwVertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 6400{ 6401 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6402 if (!gl) 6403 return; 6404 gl->vertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); 6405} 6406 6407void glwVertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 6408{ 6409 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6410 if (!gl) 6411 return; 6412 gl->vertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); 6413} 6414 6415void glwVertexArrayBindVertexBufferEXT (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) 6416{ 6417 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6418 if (!gl) 6419 return; 6420 gl->vertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride); 6421} 6422 6423void glwVertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor) 6424{ 6425 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6426 if (!gl) 6427 return; 6428 gl->vertexArrayBindingDivisor(vaobj, bindingindex, divisor); 6429} 6430 6431void glwVertexArrayColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6432{ 6433 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6434 if (!gl) 6435 return; 6436 gl->vertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset); 6437} 6438 6439void glwVertexArrayEdgeFlagOffsetEXT (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) 6440{ 6441 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6442 if (!gl) 6443 return; 6444 gl->vertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset); 6445} 6446 6447void glwVertexArrayElementBuffer (GLuint vaobj, GLuint buffer) 6448{ 6449 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6450 if (!gl) 6451 return; 6452 gl->vertexArrayElementBuffer(vaobj, buffer); 6453} 6454 6455void glwVertexArrayFogCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) 6456{ 6457 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6458 if (!gl) 6459 return; 6460 gl->vertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset); 6461} 6462 6463void glwVertexArrayIndexOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) 6464{ 6465 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6466 if (!gl) 6467 return; 6468 gl->vertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset); 6469} 6470 6471void glwVertexArrayMultiTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6472{ 6473 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6474 if (!gl) 6475 return; 6476 gl->vertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset); 6477} 6478 6479void glwVertexArrayNormalOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) 6480{ 6481 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6482 if (!gl) 6483 return; 6484 gl->vertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset); 6485} 6486 6487void glwVertexArraySecondaryColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6488{ 6489 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6490 if (!gl) 6491 return; 6492 gl->vertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset); 6493} 6494 6495void glwVertexArrayTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6496{ 6497 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6498 if (!gl) 6499 return; 6500 gl->vertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset); 6501} 6502 6503void glwVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex) 6504{ 6505 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6506 if (!gl) 6507 return; 6508 gl->vertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex); 6509} 6510 6511void glwVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor) 6512{ 6513 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6514 if (!gl) 6515 return; 6516 gl->vertexArrayVertexAttribDivisorEXT(vaobj, index, divisor); 6517} 6518 6519void glwVertexArrayVertexAttribFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) 6520{ 6521 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6522 if (!gl) 6523 return; 6524 gl->vertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset); 6525} 6526 6527void glwVertexArrayVertexAttribIFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 6528{ 6529 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6530 if (!gl) 6531 return; 6532 gl->vertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset); 6533} 6534 6535void glwVertexArrayVertexAttribIOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6536{ 6537 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6538 if (!gl) 6539 return; 6540 gl->vertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset); 6541} 6542 6543void glwVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 6544{ 6545 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6546 if (!gl) 6547 return; 6548 gl->vertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset); 6549} 6550 6551void glwVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6552{ 6553 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6554 if (!gl) 6555 return; 6556 gl->vertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset); 6557} 6558 6559void glwVertexArrayVertexAttribOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset) 6560{ 6561 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6562 if (!gl) 6563 return; 6564 gl->vertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset); 6565} 6566 6567void glwVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor) 6568{ 6569 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6570 if (!gl) 6571 return; 6572 gl->vertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor); 6573} 6574 6575void glwVertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) 6576{ 6577 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6578 if (!gl) 6579 return; 6580 gl->vertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); 6581} 6582 6583void glwVertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) 6584{ 6585 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6586 if (!gl) 6587 return; 6588 gl->vertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); 6589} 6590 6591void glwVertexArrayVertexOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) 6592{ 6593 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6594 if (!gl) 6595 return; 6596 gl->vertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset); 6597} 6598 6599void glwVertexAttrib1d (GLuint index, GLdouble x) 6600{ 6601 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6602 if (!gl) 6603 return; 6604 gl->vertexAttrib1d(index, x); 6605} 6606 6607void glwVertexAttrib1dv (GLuint index, const GLdouble *v) 6608{ 6609 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6610 if (!gl) 6611 return; 6612 gl->vertexAttrib1dv(index, v); 6613} 6614 6615void glwVertexAttrib1f (GLuint index, GLfloat x) 6616{ 6617 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6618 if (!gl) 6619 return; 6620 gl->vertexAttrib1f(index, x); 6621} 6622 6623void glwVertexAttrib1fv (GLuint index, const GLfloat *v) 6624{ 6625 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6626 if (!gl) 6627 return; 6628 gl->vertexAttrib1fv(index, v); 6629} 6630 6631void glwVertexAttrib1s (GLuint index, GLshort x) 6632{ 6633 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6634 if (!gl) 6635 return; 6636 gl->vertexAttrib1s(index, x); 6637} 6638 6639void glwVertexAttrib1sv (GLuint index, const GLshort *v) 6640{ 6641 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6642 if (!gl) 6643 return; 6644 gl->vertexAttrib1sv(index, v); 6645} 6646 6647void glwVertexAttrib2d (GLuint index, GLdouble x, GLdouble y) 6648{ 6649 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6650 if (!gl) 6651 return; 6652 gl->vertexAttrib2d(index, x, y); 6653} 6654 6655void glwVertexAttrib2dv (GLuint index, const GLdouble *v) 6656{ 6657 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6658 if (!gl) 6659 return; 6660 gl->vertexAttrib2dv(index, v); 6661} 6662 6663void glwVertexAttrib2f (GLuint index, GLfloat x, GLfloat y) 6664{ 6665 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6666 if (!gl) 6667 return; 6668 gl->vertexAttrib2f(index, x, y); 6669} 6670 6671void glwVertexAttrib2fv (GLuint index, const GLfloat *v) 6672{ 6673 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6674 if (!gl) 6675 return; 6676 gl->vertexAttrib2fv(index, v); 6677} 6678 6679void glwVertexAttrib2s (GLuint index, GLshort x, GLshort y) 6680{ 6681 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6682 if (!gl) 6683 return; 6684 gl->vertexAttrib2s(index, x, y); 6685} 6686 6687void glwVertexAttrib2sv (GLuint index, const GLshort *v) 6688{ 6689 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6690 if (!gl) 6691 return; 6692 gl->vertexAttrib2sv(index, v); 6693} 6694 6695void glwVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z) 6696{ 6697 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6698 if (!gl) 6699 return; 6700 gl->vertexAttrib3d(index, x, y, z); 6701} 6702 6703void glwVertexAttrib3dv (GLuint index, const GLdouble *v) 6704{ 6705 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6706 if (!gl) 6707 return; 6708 gl->vertexAttrib3dv(index, v); 6709} 6710 6711void glwVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z) 6712{ 6713 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6714 if (!gl) 6715 return; 6716 gl->vertexAttrib3f(index, x, y, z); 6717} 6718 6719void glwVertexAttrib3fv (GLuint index, const GLfloat *v) 6720{ 6721 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6722 if (!gl) 6723 return; 6724 gl->vertexAttrib3fv(index, v); 6725} 6726 6727void glwVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z) 6728{ 6729 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6730 if (!gl) 6731 return; 6732 gl->vertexAttrib3s(index, x, y, z); 6733} 6734 6735void glwVertexAttrib3sv (GLuint index, const GLshort *v) 6736{ 6737 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6738 if (!gl) 6739 return; 6740 gl->vertexAttrib3sv(index, v); 6741} 6742 6743void glwVertexAttrib4Nbv (GLuint index, const GLbyte *v) 6744{ 6745 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6746 if (!gl) 6747 return; 6748 gl->vertexAttrib4Nbv(index, v); 6749} 6750 6751void glwVertexAttrib4Niv (GLuint index, const GLint *v) 6752{ 6753 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6754 if (!gl) 6755 return; 6756 gl->vertexAttrib4Niv(index, v); 6757} 6758 6759void glwVertexAttrib4Nsv (GLuint index, const GLshort *v) 6760{ 6761 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6762 if (!gl) 6763 return; 6764 gl->vertexAttrib4Nsv(index, v); 6765} 6766 6767void glwVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) 6768{ 6769 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6770 if (!gl) 6771 return; 6772 gl->vertexAttrib4Nub(index, x, y, z, w); 6773} 6774 6775void glwVertexAttrib4Nubv (GLuint index, const GLubyte *v) 6776{ 6777 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6778 if (!gl) 6779 return; 6780 gl->vertexAttrib4Nubv(index, v); 6781} 6782 6783void glwVertexAttrib4Nuiv (GLuint index, const GLuint *v) 6784{ 6785 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6786 if (!gl) 6787 return; 6788 gl->vertexAttrib4Nuiv(index, v); 6789} 6790 6791void glwVertexAttrib4Nusv (GLuint index, const GLushort *v) 6792{ 6793 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6794 if (!gl) 6795 return; 6796 gl->vertexAttrib4Nusv(index, v); 6797} 6798 6799void glwVertexAttrib4bv (GLuint index, const GLbyte *v) 6800{ 6801 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6802 if (!gl) 6803 return; 6804 gl->vertexAttrib4bv(index, v); 6805} 6806 6807void glwVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 6808{ 6809 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6810 if (!gl) 6811 return; 6812 gl->vertexAttrib4d(index, x, y, z, w); 6813} 6814 6815void glwVertexAttrib4dv (GLuint index, const GLdouble *v) 6816{ 6817 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6818 if (!gl) 6819 return; 6820 gl->vertexAttrib4dv(index, v); 6821} 6822 6823void glwVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) 6824{ 6825 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6826 if (!gl) 6827 return; 6828 gl->vertexAttrib4f(index, x, y, z, w); 6829} 6830 6831void glwVertexAttrib4fv (GLuint index, const GLfloat *v) 6832{ 6833 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6834 if (!gl) 6835 return; 6836 gl->vertexAttrib4fv(index, v); 6837} 6838 6839void glwVertexAttrib4iv (GLuint index, const GLint *v) 6840{ 6841 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6842 if (!gl) 6843 return; 6844 gl->vertexAttrib4iv(index, v); 6845} 6846 6847void glwVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) 6848{ 6849 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6850 if (!gl) 6851 return; 6852 gl->vertexAttrib4s(index, x, y, z, w); 6853} 6854 6855void glwVertexAttrib4sv (GLuint index, const GLshort *v) 6856{ 6857 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6858 if (!gl) 6859 return; 6860 gl->vertexAttrib4sv(index, v); 6861} 6862 6863void glwVertexAttrib4ubv (GLuint index, const GLubyte *v) 6864{ 6865 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6866 if (!gl) 6867 return; 6868 gl->vertexAttrib4ubv(index, v); 6869} 6870 6871void glwVertexAttrib4uiv (GLuint index, const GLuint *v) 6872{ 6873 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6874 if (!gl) 6875 return; 6876 gl->vertexAttrib4uiv(index, v); 6877} 6878 6879void glwVertexAttrib4usv (GLuint index, const GLushort *v) 6880{ 6881 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6882 if (!gl) 6883 return; 6884 gl->vertexAttrib4usv(index, v); 6885} 6886 6887void glwVertexAttribBinding (GLuint attribindex, GLuint bindingindex) 6888{ 6889 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6890 if (!gl) 6891 return; 6892 gl->vertexAttribBinding(attribindex, bindingindex); 6893} 6894 6895void glwVertexAttribDivisor (GLuint index, GLuint divisor) 6896{ 6897 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6898 if (!gl) 6899 return; 6900 gl->vertexAttribDivisor(index, divisor); 6901} 6902 6903void glwVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) 6904{ 6905 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6906 if (!gl) 6907 return; 6908 gl->vertexAttribFormat(attribindex, size, type, normalized, relativeoffset); 6909} 6910 6911void glwVertexAttribI1i (GLuint index, GLint x) 6912{ 6913 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6914 if (!gl) 6915 return; 6916 gl->vertexAttribI1i(index, x); 6917} 6918 6919void glwVertexAttribI1iv (GLuint index, const GLint *v) 6920{ 6921 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6922 if (!gl) 6923 return; 6924 gl->vertexAttribI1iv(index, v); 6925} 6926 6927void glwVertexAttribI1ui (GLuint index, GLuint x) 6928{ 6929 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6930 if (!gl) 6931 return; 6932 gl->vertexAttribI1ui(index, x); 6933} 6934 6935void glwVertexAttribI1uiv (GLuint index, const GLuint *v) 6936{ 6937 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6938 if (!gl) 6939 return; 6940 gl->vertexAttribI1uiv(index, v); 6941} 6942 6943void glwVertexAttribI2i (GLuint index, GLint x, GLint y) 6944{ 6945 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6946 if (!gl) 6947 return; 6948 gl->vertexAttribI2i(index, x, y); 6949} 6950 6951void glwVertexAttribI2iv (GLuint index, const GLint *v) 6952{ 6953 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6954 if (!gl) 6955 return; 6956 gl->vertexAttribI2iv(index, v); 6957} 6958 6959void glwVertexAttribI2ui (GLuint index, GLuint x, GLuint y) 6960{ 6961 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6962 if (!gl) 6963 return; 6964 gl->vertexAttribI2ui(index, x, y); 6965} 6966 6967void glwVertexAttribI2uiv (GLuint index, const GLuint *v) 6968{ 6969 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6970 if (!gl) 6971 return; 6972 gl->vertexAttribI2uiv(index, v); 6973} 6974 6975void glwVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z) 6976{ 6977 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6978 if (!gl) 6979 return; 6980 gl->vertexAttribI3i(index, x, y, z); 6981} 6982 6983void glwVertexAttribI3iv (GLuint index, const GLint *v) 6984{ 6985 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6986 if (!gl) 6987 return; 6988 gl->vertexAttribI3iv(index, v); 6989} 6990 6991void glwVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z) 6992{ 6993 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 6994 if (!gl) 6995 return; 6996 gl->vertexAttribI3ui(index, x, y, z); 6997} 6998 6999void glwVertexAttribI3uiv (GLuint index, const GLuint *v) 7000{ 7001 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7002 if (!gl) 7003 return; 7004 gl->vertexAttribI3uiv(index, v); 7005} 7006 7007void glwVertexAttribI4bv (GLuint index, const GLbyte *v) 7008{ 7009 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7010 if (!gl) 7011 return; 7012 gl->vertexAttribI4bv(index, v); 7013} 7014 7015void glwVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w) 7016{ 7017 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7018 if (!gl) 7019 return; 7020 gl->vertexAttribI4i(index, x, y, z, w); 7021} 7022 7023void glwVertexAttribI4iv (GLuint index, const GLint *v) 7024{ 7025 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7026 if (!gl) 7027 return; 7028 gl->vertexAttribI4iv(index, v); 7029} 7030 7031void glwVertexAttribI4sv (GLuint index, const GLshort *v) 7032{ 7033 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7034 if (!gl) 7035 return; 7036 gl->vertexAttribI4sv(index, v); 7037} 7038 7039void glwVertexAttribI4ubv (GLuint index, const GLubyte *v) 7040{ 7041 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7042 if (!gl) 7043 return; 7044 gl->vertexAttribI4ubv(index, v); 7045} 7046 7047void glwVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) 7048{ 7049 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7050 if (!gl) 7051 return; 7052 gl->vertexAttribI4ui(index, x, y, z, w); 7053} 7054 7055void glwVertexAttribI4uiv (GLuint index, const GLuint *v) 7056{ 7057 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7058 if (!gl) 7059 return; 7060 gl->vertexAttribI4uiv(index, v); 7061} 7062 7063void glwVertexAttribI4usv (GLuint index, const GLushort *v) 7064{ 7065 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7066 if (!gl) 7067 return; 7068 gl->vertexAttribI4usv(index, v); 7069} 7070 7071void glwVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 7072{ 7073 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7074 if (!gl) 7075 return; 7076 gl->vertexAttribIFormat(attribindex, size, type, relativeoffset); 7077} 7078 7079void glwVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) 7080{ 7081 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7082 if (!gl) 7083 return; 7084 gl->vertexAttribIPointer(index, size, type, stride, pointer); 7085} 7086 7087void glwVertexAttribL1d (GLuint index, GLdouble x) 7088{ 7089 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7090 if (!gl) 7091 return; 7092 gl->vertexAttribL1d(index, x); 7093} 7094 7095void glwVertexAttribL1dv (GLuint index, const GLdouble *v) 7096{ 7097 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7098 if (!gl) 7099 return; 7100 gl->vertexAttribL1dv(index, v); 7101} 7102 7103void glwVertexAttribL2d (GLuint index, GLdouble x, GLdouble y) 7104{ 7105 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7106 if (!gl) 7107 return; 7108 gl->vertexAttribL2d(index, x, y); 7109} 7110 7111void glwVertexAttribL2dv (GLuint index, const GLdouble *v) 7112{ 7113 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7114 if (!gl) 7115 return; 7116 gl->vertexAttribL2dv(index, v); 7117} 7118 7119void glwVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z) 7120{ 7121 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7122 if (!gl) 7123 return; 7124 gl->vertexAttribL3d(index, x, y, z); 7125} 7126 7127void glwVertexAttribL3dv (GLuint index, const GLdouble *v) 7128{ 7129 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7130 if (!gl) 7131 return; 7132 gl->vertexAttribL3dv(index, v); 7133} 7134 7135void glwVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) 7136{ 7137 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7138 if (!gl) 7139 return; 7140 gl->vertexAttribL4d(index, x, y, z, w); 7141} 7142 7143void glwVertexAttribL4dv (GLuint index, const GLdouble *v) 7144{ 7145 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7146 if (!gl) 7147 return; 7148 gl->vertexAttribL4dv(index, v); 7149} 7150 7151void glwVertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) 7152{ 7153 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7154 if (!gl) 7155 return; 7156 gl->vertexAttribLFormat(attribindex, size, type, relativeoffset); 7157} 7158 7159void glwVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) 7160{ 7161 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7162 if (!gl) 7163 return; 7164 gl->vertexAttribLPointer(index, size, type, stride, pointer); 7165} 7166 7167void glwVertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) 7168{ 7169 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7170 if (!gl) 7171 return; 7172 gl->vertexAttribP1ui(index, type, normalized, value); 7173} 7174 7175void glwVertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value) 7176{ 7177 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7178 if (!gl) 7179 return; 7180 gl->vertexAttribP1uiv(index, type, normalized, value); 7181} 7182 7183void glwVertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) 7184{ 7185 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7186 if (!gl) 7187 return; 7188 gl->vertexAttribP2ui(index, type, normalized, value); 7189} 7190 7191void glwVertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value) 7192{ 7193 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7194 if (!gl) 7195 return; 7196 gl->vertexAttribP2uiv(index, type, normalized, value); 7197} 7198 7199void glwVertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) 7200{ 7201 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7202 if (!gl) 7203 return; 7204 gl->vertexAttribP3ui(index, type, normalized, value); 7205} 7206 7207void glwVertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value) 7208{ 7209 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7210 if (!gl) 7211 return; 7212 gl->vertexAttribP3uiv(index, type, normalized, value); 7213} 7214 7215void glwVertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) 7216{ 7217 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7218 if (!gl) 7219 return; 7220 gl->vertexAttribP4ui(index, type, normalized, value); 7221} 7222 7223void glwVertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const GLuint *value) 7224{ 7225 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7226 if (!gl) 7227 return; 7228 gl->vertexAttribP4uiv(index, type, normalized, value); 7229} 7230 7231void glwVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) 7232{ 7233 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7234 if (!gl) 7235 return; 7236 gl->vertexAttribPointer(index, size, type, normalized, stride, pointer); 7237} 7238 7239void glwVertexBindingDivisor (GLuint bindingindex, GLuint divisor) 7240{ 7241 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7242 if (!gl) 7243 return; 7244 gl->vertexBindingDivisor(bindingindex, divisor); 7245} 7246 7247void glwViewport (GLint x, GLint y, GLsizei width, GLsizei height) 7248{ 7249 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7250 if (!gl) 7251 return; 7252 gl->viewport(x, y, width, height); 7253} 7254 7255void glwViewportArrayv (GLuint first, GLsizei count, const GLfloat *v) 7256{ 7257 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7258 if (!gl) 7259 return; 7260 gl->viewportArrayv(first, count, v); 7261} 7262 7263void glwViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) 7264{ 7265 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7266 if (!gl) 7267 return; 7268 gl->viewportIndexedf(index, x, y, w, h); 7269} 7270 7271void glwViewportIndexedfv (GLuint index, const GLfloat *v) 7272{ 7273 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7274 if (!gl) 7275 return; 7276 gl->viewportIndexedfv(index, v); 7277} 7278 7279void glwWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout) 7280{ 7281 const glw::Functions* gl = glw::getCurrentThreadFunctions(); 7282 if (!gl) 7283 return; 7284 gl->waitSync(sync, flags, timeout); 7285} 7286