430QFunctionPointer QEGLPlatformContext::getProcAddress(
const char *procName)
433 QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName);
434#if !defined(Q_OS_WIN) && !defined(Q_OS_INTEGRITY)
436 proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName);
437#elif !defined(QT_OPENGL_DYNAMIC)
444 static struct StdFunc {
446 QFunctionPointer func;
447 } standardFuncs[] = {
448#if QT_CONFIG(opengles2)
449 {
"glBindTexture", (QFunctionPointer) ::glBindTexture },
450 {
"glBlendFunc", (QFunctionPointer) ::glBlendFunc },
451 {
"glClear", (QFunctionPointer) ::glClear },
452 {
"glClearColor", (QFunctionPointer) ::glClearColor },
453 {
"glClearStencil", (QFunctionPointer) ::glClearStencil },
454 {
"glColorMask", (QFunctionPointer) ::glColorMask },
455 {
"glCopyTexImage2D", (QFunctionPointer) ::glCopyTexImage2D },
456 {
"glCopyTexSubImage2D", (QFunctionPointer) ::glCopyTexSubImage2D },
457 {
"glCullFace", (QFunctionPointer) ::glCullFace },
458 {
"glDeleteTextures", (QFunctionPointer) ::glDeleteTextures },
459 {
"glDepthFunc", (QFunctionPointer) ::glDepthFunc },
460 {
"glDepthMask", (QFunctionPointer) ::glDepthMask },
461 {
"glDisable", (QFunctionPointer) ::glDisable },
462 {
"glDrawArrays", (QFunctionPointer) ::glDrawArrays },
463 {
"glDrawElements", (QFunctionPointer) ::glDrawElements },
464 {
"glEnable", (QFunctionPointer) ::glEnable },
465 {
"glFinish", (QFunctionPointer) ::glFinish },
466 {
"glFlush", (QFunctionPointer) ::glFlush },
467 {
"glFrontFace", (QFunctionPointer) ::glFrontFace },
468 {
"glGenTextures", (QFunctionPointer) ::glGenTextures },
469 {
"glGetBooleanv", (QFunctionPointer) ::glGetBooleanv },
470 {
"glGetError", (QFunctionPointer) ::glGetError },
471 {
"glGetFloatv", (QFunctionPointer) ::glGetFloatv },
472 {
"glGetIntegerv", (QFunctionPointer) ::glGetIntegerv },
473 {
"glGetString", (QFunctionPointer) ::glGetString },
474 {
"glGetTexParameterfv", (QFunctionPointer) ::glGetTexParameterfv },
475 {
"glGetTexParameteriv", (QFunctionPointer) ::glGetTexParameteriv },
476 {
"glHint", (QFunctionPointer) ::glHint },
477 {
"glIsEnabled", (QFunctionPointer) ::glIsEnabled },
478 {
"glIsTexture", (QFunctionPointer) ::glIsTexture },
479 {
"glLineWidth", (QFunctionPointer) ::glLineWidth },
480 {
"glPixelStorei", (QFunctionPointer) ::glPixelStorei },
481 {
"glPolygonOffset", (QFunctionPointer) ::glPolygonOffset },
482 {
"glReadPixels", (QFunctionPointer) ::glReadPixels },
483 {
"glScissor", (QFunctionPointer) ::glScissor },
484 {
"glStencilFunc", (QFunctionPointer) ::glStencilFunc },
485 {
"glStencilMask", (QFunctionPointer) ::glStencilMask },
486 {
"glStencilOp", (QFunctionPointer) ::glStencilOp },
487 {
"glTexImage2D", (QFunctionPointer) ::glTexImage2D },
488 {
"glTexParameterf", (QFunctionPointer) ::glTexParameterf },
489 {
"glTexParameterfv", (QFunctionPointer) ::glTexParameterfv },
490 {
"glTexParameteri", (QFunctionPointer) ::glTexParameteri },
491 {
"glTexParameteriv", (QFunctionPointer) ::glTexParameteriv },
492 {
"glTexSubImage2D", (QFunctionPointer) ::glTexSubImage2D },
493 {
"glViewport", (QFunctionPointer) ::glViewport },
495 {
"glActiveTexture", (QFunctionPointer) ::glActiveTexture },
496 {
"glAttachShader", (QFunctionPointer) ::glAttachShader },
497 {
"glBindAttribLocation", (QFunctionPointer) ::glBindAttribLocation },
498 {
"glBindBuffer", (QFunctionPointer) ::glBindBuffer },
499 {
"glBindFramebuffer", (QFunctionPointer) ::glBindFramebuffer },
500 {
"glBindRenderbuffer", (QFunctionPointer) ::glBindRenderbuffer },
501 {
"glBlendColor", (QFunctionPointer) ::glBlendColor },
502 {
"glBlendEquation", (QFunctionPointer) ::glBlendEquation },
503 {
"glBlendEquationSeparate", (QFunctionPointer) ::glBlendEquationSeparate },
504 {
"glBlendFuncSeparate", (QFunctionPointer) ::glBlendFuncSeparate },
505 {
"glBufferData", (QFunctionPointer) ::glBufferData },
506 {
"glBufferSubData", (QFunctionPointer) ::glBufferSubData },
507 {
"glCheckFramebufferStatus", (QFunctionPointer) ::glCheckFramebufferStatus },
508 {
"glCompileShader", (QFunctionPointer) ::glCompileShader },
509 {
"glCompressedTexImage2D", (QFunctionPointer) ::glCompressedTexImage2D },
510 {
"glCompressedTexSubImage2D", (QFunctionPointer) ::glCompressedTexSubImage2D },
511 {
"glCreateProgram", (QFunctionPointer) ::glCreateProgram },
512 {
"glCreateShader", (QFunctionPointer) ::glCreateShader },
513 {
"glDeleteBuffers", (QFunctionPointer) ::glDeleteBuffers },
514 {
"glDeleteFramebuffers", (QFunctionPointer) ::glDeleteFramebuffers },
515 {
"glDeleteProgram", (QFunctionPointer) ::glDeleteProgram },
516 {
"glDeleteRenderbuffers", (QFunctionPointer) ::glDeleteRenderbuffers },
517 {
"glDeleteShader", (QFunctionPointer) ::glDeleteShader },
518 {
"glDetachShader", (QFunctionPointer) ::glDetachShader },
519 {
"glDisableVertexAttribArray", (QFunctionPointer) ::glDisableVertexAttribArray },
520 {
"glEnableVertexAttribArray", (QFunctionPointer) ::glEnableVertexAttribArray },
521 {
"glFramebufferRenderbuffer", (QFunctionPointer) ::glFramebufferRenderbuffer },
522 {
"glFramebufferTexture2D", (QFunctionPointer) ::glFramebufferTexture2D },
523 {
"glGenBuffers", (QFunctionPointer) ::glGenBuffers },
524 {
"glGenerateMipmap", (QFunctionPointer) ::glGenerateMipmap },
525 {
"glGenFramebuffers", (QFunctionPointer) ::glGenFramebuffers },
526 {
"glGenRenderbuffers", (QFunctionPointer) ::glGenRenderbuffers },
527 {
"glGetActiveAttrib", (QFunctionPointer) ::glGetActiveAttrib },
528 {
"glGetActiveUniform", (QFunctionPointer) ::glGetActiveUniform },
529 {
"glGetAttachedShaders", (QFunctionPointer) ::glGetAttachedShaders },
530 {
"glGetAttribLocation", (QFunctionPointer) ::glGetAttribLocation },
531 {
"glGetBufferParameteriv", (QFunctionPointer) ::glGetBufferParameteriv },
532 {
"glGetFramebufferAttachmentParameteriv", (QFunctionPointer) ::glGetFramebufferAttachmentParameteriv },
533 {
"glGetProgramiv", (QFunctionPointer) ::glGetProgramiv },
534 {
"glGetProgramInfoLog", (QFunctionPointer) ::glGetProgramInfoLog },
535 {
"glGetRenderbufferParameteriv", (QFunctionPointer) ::glGetRenderbufferParameteriv },
536 {
"glGetShaderiv", (QFunctionPointer) ::glGetShaderiv },
537 {
"glGetShaderInfoLog", (QFunctionPointer) ::glGetShaderInfoLog },
538 {
"glGetShaderPrecisionFormat", (QFunctionPointer) ::glGetShaderPrecisionFormat },
539 {
"glGetShaderSource", (QFunctionPointer) ::glGetShaderSource },
540 {
"glGetUniformfv", (QFunctionPointer) ::glGetUniformfv },
541 {
"glGetUniformiv", (QFunctionPointer) ::glGetUniformiv },
542 {
"glGetUniformLocation", (QFunctionPointer) ::glGetUniformLocation },
543 {
"glGetVertexAttribfv", (QFunctionPointer) ::glGetVertexAttribfv },
544 {
"glGetVertexAttribiv", (QFunctionPointer) ::glGetVertexAttribiv },
545 {
"glGetVertexAttribPointerv", (QFunctionPointer) ::glGetVertexAttribPointerv },
546 {
"glIsBuffer", (QFunctionPointer) ::glIsBuffer },
547 {
"glIsFramebuffer", (QFunctionPointer) ::glIsFramebuffer },
548 {
"glIsProgram", (QFunctionPointer) ::glIsProgram },
549 {
"glIsRenderbuffer", (QFunctionPointer) ::glIsRenderbuffer },
550 {
"glIsShader", (QFunctionPointer) ::glIsShader },
551 {
"glLinkProgram", (QFunctionPointer) ::glLinkProgram },
552 {
"glReleaseShaderCompiler", (QFunctionPointer) ::glReleaseShaderCompiler },
553 {
"glRenderbufferStorage", (QFunctionPointer) ::glRenderbufferStorage },
554 {
"glSampleCoverage", (QFunctionPointer) ::glSampleCoverage },
555 {
"glShaderBinary", (QFunctionPointer) ::glShaderBinary },
556 {
"glShaderSource", (QFunctionPointer) ::glShaderSource },
557 {
"glStencilFuncSeparate", (QFunctionPointer) ::glStencilFuncSeparate },
558 {
"glStencilMaskSeparate", (QFunctionPointer) ::glStencilMaskSeparate },
559 {
"glStencilOpSeparate", (QFunctionPointer) ::glStencilOpSeparate },
560 {
"glUniform1f", (QFunctionPointer) ::glUniform1f },
561 {
"glUniform1fv", (QFunctionPointer) ::glUniform1fv },
562 {
"glUniform1i", (QFunctionPointer) ::glUniform1i },
563 {
"glUniform1iv", (QFunctionPointer) ::glUniform1iv },
564 {
"glUniform2f", (QFunctionPointer) ::glUniform2f },
565 {
"glUniform2fv", (QFunctionPointer) ::glUniform2fv },
566 {
"glUniform2i", (QFunctionPointer) ::glUniform2i },
567 {
"glUniform2iv", (QFunctionPointer) ::glUniform2iv },
568 {
"glUniform3f", (QFunctionPointer) ::glUniform3f },
569 {
"glUniform3fv", (QFunctionPointer) ::glUniform3fv },
570 {
"glUniform3i", (QFunctionPointer) ::glUniform3i },
571 {
"glUniform3iv", (QFunctionPointer) ::glUniform3iv },
572 {
"glUniform4f", (QFunctionPointer) ::glUniform4f },
573 {
"glUniform4fv", (QFunctionPointer) ::glUniform4fv },
574 {
"glUniform4i", (QFunctionPointer) ::glUniform4i },
575 {
"glUniform4iv", (QFunctionPointer) ::glUniform4iv },
576 {
"glUniformMatrix2fv", (QFunctionPointer) ::glUniformMatrix2fv },
577 {
"glUniformMatrix3fv", (QFunctionPointer) ::glUniformMatrix3fv },
578 {
"glUniformMatrix4fv", (QFunctionPointer) ::glUniformMatrix4fv },
579 {
"glUseProgram", (QFunctionPointer) ::glUseProgram },
580 {
"glValidateProgram", (QFunctionPointer) ::glValidateProgram },
581 {
"glVertexAttrib1f", (QFunctionPointer) ::glVertexAttrib1f },
582 {
"glVertexAttrib1fv", (QFunctionPointer) ::glVertexAttrib1fv },
583 {
"glVertexAttrib2f", (QFunctionPointer) ::glVertexAttrib2f },
584 {
"glVertexAttrib2fv", (QFunctionPointer) ::glVertexAttrib2fv },
585 {
"glVertexAttrib3f", (QFunctionPointer) ::glVertexAttrib3f },
586 {
"glVertexAttrib3fv", (QFunctionPointer) ::glVertexAttrib3fv },
587 {
"glVertexAttrib4f", (QFunctionPointer) ::glVertexAttrib4f },
588 {
"glVertexAttrib4fv", (QFunctionPointer) ::glVertexAttrib4fv },
589 {
"glVertexAttribPointer", (QFunctionPointer) ::glVertexAttribPointer },
591 {
"glClearDepthf", (QFunctionPointer) ::glClearDepthf },
592 {
"glDepthRangef", (QFunctionPointer) ::glDepthRangef },
595#if QT_CONFIG(opengles3)
596 {
"glBeginQuery", (QFunctionPointer) ::glBeginQuery },
597 {
"glBeginTransformFeedback", (QFunctionPointer) ::glBeginTransformFeedback },
598 {
"glBindBufferBase", (QFunctionPointer) ::glBindBufferBase },
599 {
"glBindBufferRange", (QFunctionPointer) ::glBindBufferRange },
600 {
"glBindSampler", (QFunctionPointer) ::glBindSampler },
601 {
"glBindTransformFeedback", (QFunctionPointer) ::glBindTransformFeedback },
602 {
"glBindVertexArray", (QFunctionPointer) ::glBindVertexArray },
603 {
"glBlitFramebuffer", (QFunctionPointer) ::glBlitFramebuffer },
604 {
"glClearBufferfi", (QFunctionPointer) ::glClearBufferfi },
605 {
"glClearBufferfv", (QFunctionPointer) ::glClearBufferfv },
606 {
"glClearBufferiv", (QFunctionPointer) ::glClearBufferiv },
607 {
"glClearBufferuiv", (QFunctionPointer) ::glClearBufferuiv },
608 {
"glClientWaitSync", (QFunctionPointer) ::glClientWaitSync },
609 {
"glCompressedTexImage3D", (QFunctionPointer) ::glCompressedTexImage3D },
610 {
"glCompressedTexSubImage3D", (QFunctionPointer) ::glCompressedTexSubImage3D },
611 {
"glCopyBufferSubData", (QFunctionPointer) ::glCopyBufferSubData },
612 {
"glCopyTexSubImage3D", (QFunctionPointer) ::glCopyTexSubImage3D },
613 {
"glDeleteQueries", (QFunctionPointer) ::glDeleteQueries },
614 {
"glDeleteSamplers", (QFunctionPointer) ::glDeleteSamplers },
615 {
"glDeleteSync", (QFunctionPointer) ::glDeleteSync },
616 {
"glDeleteTransformFeedbacks", (QFunctionPointer) ::glDeleteTransformFeedbacks },
617 {
"glDeleteVertexArrays", (QFunctionPointer) ::glDeleteVertexArrays },
618 {
"glDrawArraysInstanced", (QFunctionPointer) ::glDrawArraysInstanced },
619 {
"glDrawBuffers", (QFunctionPointer) ::glDrawBuffers },
620 {
"glDrawElementsInstanced", (QFunctionPointer) ::glDrawElementsInstanced },
621 {
"glDrawRangeElements", (QFunctionPointer) ::glDrawRangeElements },
622 {
"glEndQuery", (QFunctionPointer) ::glEndQuery },
623 {
"glEndTransformFeedback", (QFunctionPointer) ::glEndTransformFeedback },
624 {
"glFenceSync", (QFunctionPointer) ::glFenceSync },
625 {
"glFlushMappedBufferRange", (QFunctionPointer) ::glFlushMappedBufferRange },
626 {
"glFramebufferTextureLayer", (QFunctionPointer) ::glFramebufferTextureLayer },
627 {
"glGenQueries", (QFunctionPointer) ::glGenQueries },
628 {
"glGenSamplers", (QFunctionPointer) ::glGenSamplers },
629 {
"glGenTransformFeedbacks", (QFunctionPointer) ::glGenTransformFeedbacks },
630 {
"glGenVertexArrays", (QFunctionPointer) ::glGenVertexArrays },
631 {
"glGetActiveUniformBlockName", (QFunctionPointer) ::glGetActiveUniformBlockName },
632 {
"glGetActiveUniformBlockiv", (QFunctionPointer) ::glGetActiveUniformBlockiv },
633 {
"glGetActiveUniformsiv", (QFunctionPointer) ::glGetActiveUniformsiv },
634 {
"glGetBufferParameteri64v", (QFunctionPointer) ::glGetBufferParameteri64v },
635 {
"glGetBufferPointerv", (QFunctionPointer) ::glGetBufferPointerv },
636 {
"glGetFragDataLocation", (QFunctionPointer) ::glGetFragDataLocation },
637 {
"glGetInteger64i_v", (QFunctionPointer) ::glGetInteger64i_v },
638 {
"glGetInteger64v", (QFunctionPointer) ::glGetInteger64v },
639 {
"glGetIntegeri_v", (QFunctionPointer) ::glGetIntegeri_v },
640 {
"glGetInternalformativ", (QFunctionPointer) ::glGetInternalformativ },
641 {
"glGetProgramBinary", (QFunctionPointer) ::glGetProgramBinary },
642 {
"glGetQueryObjectuiv", (QFunctionPointer) ::glGetQueryObjectuiv },
643 {
"glGetQueryiv", (QFunctionPointer) ::glGetQueryiv },
644 {
"glGetSamplerParameterfv", (QFunctionPointer) ::glGetSamplerParameterfv },
645 {
"glGetSamplerParameteriv", (QFunctionPointer) ::glGetSamplerParameteriv },
646 {
"glGetStringi", (QFunctionPointer) ::glGetStringi },
647 {
"glGetSynciv", (QFunctionPointer) ::glGetSynciv },
648 {
"glGetTransformFeedbackVarying", (QFunctionPointer) ::glGetTransformFeedbackVarying },
649 {
"glGetUniformBlockIndex", (QFunctionPointer) ::glGetUniformBlockIndex },
650 {
"glGetUniformIndices", (QFunctionPointer) ::glGetUniformIndices },
651 {
"glGetUniformuiv", (QFunctionPointer) ::glGetUniformuiv },
652 {
"glGetVertexAttribIiv", (QFunctionPointer) ::glGetVertexAttribIiv },
653 {
"glGetVertexAttribIuiv", (QFunctionPointer) ::glGetVertexAttribIuiv },
654 {
"glInvalidateFramebuffer", (QFunctionPointer) ::glInvalidateFramebuffer },
655 {
"glInvalidateSubFramebuffer", (QFunctionPointer) ::glInvalidateSubFramebuffer },
656 {
"glIsQuery", (QFunctionPointer) ::glIsQuery },
657 {
"glIsSampler", (QFunctionPointer) ::glIsSampler },
658 {
"glIsSync", (QFunctionPointer) ::glIsSync },
659 {
"glIsTransformFeedback", (QFunctionPointer) ::glIsTransformFeedback },
660 {
"glIsVertexArray", (QFunctionPointer) ::glIsVertexArray },
661 {
"glMapBufferRange", (QFunctionPointer) ::glMapBufferRange },
662 {
"glPauseTransformFeedback", (QFunctionPointer) ::glPauseTransformFeedback },
663 {
"glProgramBinary", (QFunctionPointer) ::glProgramBinary },
664 {
"glProgramParameteri", (QFunctionPointer) ::glProgramParameteri },
665 {
"glReadBuffer", (QFunctionPointer) ::glReadBuffer },
666 {
"glRenderbufferStorageMultisample", (QFunctionPointer) ::glRenderbufferStorageMultisample },
667 {
"glResumeTransformFeedback", (QFunctionPointer) ::glResumeTransformFeedback },
668 {
"glSamplerParameterf", (QFunctionPointer) ::glSamplerParameterf },
669 {
"glSamplerParameterfv", (QFunctionPointer) ::glSamplerParameterfv },
670 {
"glSamplerParameteri", (QFunctionPointer) ::glSamplerParameteri },
671 {
"glSamplerParameteriv", (QFunctionPointer) ::glSamplerParameteriv },
672 {
"glTexImage3D", (QFunctionPointer) ::glTexImage3D },
673 {
"glTexStorage2D", (QFunctionPointer) ::glTexStorage2D },
674 {
"glTexStorage3D", (QFunctionPointer) ::glTexStorage3D },
675 {
"glTexSubImage3D", (QFunctionPointer) ::glTexSubImage3D },
676 {
"glTransformFeedbackVaryings", (QFunctionPointer) ::glTransformFeedbackVaryings },
677 {
"glUniform1ui", (QFunctionPointer) ::glUniform1ui },
678 {
"glUniform1uiv", (QFunctionPointer) ::glUniform1uiv },
679 {
"glUniform2ui", (QFunctionPointer) ::glUniform2ui },
680 {
"glUniform2uiv", (QFunctionPointer) ::glUniform2uiv },
681 {
"glUniform3ui", (QFunctionPointer) ::glUniform3ui },
682 {
"glUniform3uiv", (QFunctionPointer) ::glUniform3uiv },
683 {
"glUniform4ui", (QFunctionPointer) ::glUniform4ui },
684 {
"glUniform4uiv", (QFunctionPointer) ::glUniform4uiv },
685 {
"glUniformBlockBinding", (QFunctionPointer) ::glUniformBlockBinding },
686 {
"glUniformMatrix2x3fv", (QFunctionPointer) ::glUniformMatrix2x3fv },
687 {
"glUniformMatrix2x4fv", (QFunctionPointer) ::glUniformMatrix2x4fv },
688 {
"glUniformMatrix3x2fv", (QFunctionPointer) ::glUniformMatrix3x2fv },
689 {
"glUniformMatrix3x4fv", (QFunctionPointer) ::glUniformMatrix3x4fv },
690 {
"glUniformMatrix4x2fv", (QFunctionPointer) ::glUniformMatrix4x2fv },
691 {
"glUniformMatrix4x3fv", (QFunctionPointer) ::glUniformMatrix4x3fv },
692 {
"glUnmapBuffer", (QFunctionPointer) ::glUnmapBuffer },
693 {
"glVertexAttribDivisor", (QFunctionPointer) ::glVertexAttribDivisor },
694 {
"glVertexAttribI4i", (QFunctionPointer) ::glVertexAttribI4i },
695 {
"glVertexAttribI4iv", (QFunctionPointer) ::glVertexAttribI4iv },
696 {
"glVertexAttribI4ui", (QFunctionPointer) ::glVertexAttribI4ui },
697 {
"glVertexAttribI4uiv", (QFunctionPointer) ::glVertexAttribI4uiv },
698 {
"glVertexAttribIPointer", (QFunctionPointer) ::glVertexAttribIPointer },
699 {
"glWaitSync", (QFunctionPointer) ::glWaitSync },
702#if QT_CONFIG(opengles31)
703 {
"glActiveShaderProgram", (QFunctionPointer) ::glActiveShaderProgram },
704 {
"glBindImageTexture", (QFunctionPointer) ::glBindImageTexture },
705 {
"glBindProgramPipeline", (QFunctionPointer) ::glBindProgramPipeline },
706 {
"glBindVertexBuffer", (QFunctionPointer) ::glBindVertexBuffer },
707 {
"glCreateShaderProgramv", (QFunctionPointer) ::glCreateShaderProgramv },
708 {
"glDeleteProgramPipelines", (QFunctionPointer) ::glDeleteProgramPipelines },
709 {
"glDispatchCompute", (QFunctionPointer) ::glDispatchCompute },
710 {
"glDispatchComputeIndirect", (QFunctionPointer) ::glDispatchComputeIndirect },
711 {
"glDrawArraysIndirect", (QFunctionPointer) ::glDrawArraysIndirect },
712 {
"glDrawElementsIndirect", (QFunctionPointer) ::glDrawElementsIndirect },
713 {
"glFramebufferParameteri", (QFunctionPointer) ::glFramebufferParameteri },
714 {
"glGenProgramPipelines", (QFunctionPointer) ::glGenProgramPipelines },
715 {
"glGetBooleani_v", (QFunctionPointer) ::glGetBooleani_v },
716 {
"glGetFramebufferParameteriv", (QFunctionPointer) ::glGetFramebufferParameteriv },
717 {
"glGetMultisamplefv", (QFunctionPointer) ::glGetMultisamplefv },
718 {
"glGetProgramInterfaceiv", (QFunctionPointer) ::glGetProgramInterfaceiv },
719 {
"glGetProgramPipelineInfoLog", (QFunctionPointer) ::glGetProgramPipelineInfoLog },
720 {
"glGetProgramPipelineiv", (QFunctionPointer) ::glGetProgramPipelineiv },
721 {
"glGetProgramResourceIndex", (QFunctionPointer) ::glGetProgramResourceIndex },
722 {
"glGetProgramResourceLocation", (QFunctionPointer) ::glGetProgramResourceLocation },
723 {
"glGetProgramResourceName", (QFunctionPointer) ::glGetProgramResourceName },
724 {
"glGetProgramResourceiv", (QFunctionPointer) ::glGetProgramResourceiv },
725 {
"glGetTexLevelParameterfv", (QFunctionPointer) ::glGetTexLevelParameterfv },
726 {
"glGetTexLevelParameteriv", (QFunctionPointer) ::glGetTexLevelParameteriv },
727 {
"glIsProgramPipeline", (QFunctionPointer) ::glIsProgramPipeline },
728 {
"glMemoryBarrier", (QFunctionPointer) ::glMemoryBarrier },
729 {
"glMemoryBarrierByRegion", (QFunctionPointer) ::glMemoryBarrierByRegion },
730 {
"glProgramUniform1f", (QFunctionPointer) ::glProgramUniform1f },
731 {
"glProgramUniform1fv", (QFunctionPointer) ::glProgramUniform1fv },
732 {
"glProgramUniform1i", (QFunctionPointer) ::glProgramUniform1i },
733 {
"glProgramUniform1iv", (QFunctionPointer) ::glProgramUniform1iv },
734 {
"glProgramUniform1ui", (QFunctionPointer) ::glProgramUniform1ui },
735 {
"glProgramUniform1uiv", (QFunctionPointer) ::glProgramUniform1uiv },
736 {
"glProgramUniform2f", (QFunctionPointer) ::glProgramUniform2f },
737 {
"glProgramUniform2fv", (QFunctionPointer) ::glProgramUniform2fv },
738 {
"glProgramUniform2i", (QFunctionPointer) ::glProgramUniform2i },
739 {
"glProgramUniform2iv", (QFunctionPointer) ::glProgramUniform2iv },
740 {
"glProgramUniform2ui", (QFunctionPointer) ::glProgramUniform2ui },
741 {
"glProgramUniform2uiv", (QFunctionPointer) ::glProgramUniform2uiv },
742 {
"glProgramUniform3f", (QFunctionPointer) ::glProgramUniform3f },
743 {
"glProgramUniform3fv", (QFunctionPointer) ::glProgramUniform3fv },
744 {
"glProgramUniform3i", (QFunctionPointer) ::glProgramUniform3i },
745 {
"glProgramUniform3iv", (QFunctionPointer) ::glProgramUniform3iv },
746 {
"glProgramUniform3ui", (QFunctionPointer) ::glProgramUniform3ui },
747 {
"glProgramUniform3uiv", (QFunctionPointer) ::glProgramUniform3uiv },
748 {
"glProgramUniform4f", (QFunctionPointer) ::glProgramUniform4f },
749 {
"glProgramUniform4fv", (QFunctionPointer) ::glProgramUniform4fv },
750 {
"glProgramUniform4i", (QFunctionPointer) ::glProgramUniform4i },
751 {
"glProgramUniform4iv", (QFunctionPointer) ::glProgramUniform4iv },
752 {
"glProgramUniform4ui", (QFunctionPointer) ::glProgramUniform4ui },
753 {
"glProgramUniform4uiv", (QFunctionPointer) ::glProgramUniform4uiv },
754 {
"glProgramUniformMatrix2fv", (QFunctionPointer) ::glProgramUniformMatrix2fv },
755 {
"glProgramUniformMatrix2x3fv", (QFunctionPointer) ::glProgramUniformMatrix2x3fv },
756 {
"glProgramUniformMatrix2x4fv", (QFunctionPointer) ::glProgramUniformMatrix2x4fv },
757 {
"glProgramUniformMatrix3fv", (QFunctionPointer) ::glProgramUniformMatrix3fv },
758 {
"glProgramUniformMatrix3x2fv", (QFunctionPointer) ::glProgramUniformMatrix3x2fv },
759 {
"glProgramUniformMatrix3x4fv", (QFunctionPointer) ::glProgramUniformMatrix3x4fv },
760 {
"glProgramUniformMatrix4fv", (QFunctionPointer) ::glProgramUniformMatrix4fv },
761 {
"glProgramUniformMatrix4x2fv", (QFunctionPointer) ::glProgramUniformMatrix4x2fv },
762 {
"glProgramUniformMatrix4x3fv", (QFunctionPointer) ::glProgramUniformMatrix4x3fv },
763 {
"glSampleMaski", (QFunctionPointer) ::glSampleMaski },
764 {
"glTexStorage2DMultisample", (QFunctionPointer) ::glTexStorage2DMultisample },
765 {
"glUseProgramStages", (QFunctionPointer) ::glUseProgramStages },
766 {
"glValidateProgramPipeline", (QFunctionPointer) ::glValidateProgramPipeline },
767 {
"glVertexAttribBinding", (QFunctionPointer) ::glVertexAttribBinding },
768 {
"glVertexAttribFormat", (QFunctionPointer) ::glVertexAttribFormat },
769 {
"glVertexAttribIFormat", (QFunctionPointer) ::glVertexAttribIFormat },
770 {
"glVertexBindingDivisor", (QFunctionPointer) ::glVertexBindingDivisor },
773#if QT_CONFIG(opengles32)
774 {
"glBlendBarrier", (QFunctionPointer) ::glBlendBarrier },
775 {
"glCopyImageSubData", (QFunctionPointer) ::glCopyImageSubData },
776 {
"glDebugMessageControl", (QFunctionPointer) ::glDebugMessageControl },
777 {
"glDebugMessageInsert", (QFunctionPointer) ::glDebugMessageInsert },
778 {
"glDebugMessageCallback", (QFunctionPointer) ::glDebugMessageCallback },
779 {
"glGetDebugMessageLog", (QFunctionPointer) ::glGetDebugMessageLog },
780 {
"glPushDebugGroup", (QFunctionPointer) ::glPushDebugGroup },
781 {
"glPopDebugGroup", (QFunctionPointer) ::glPopDebugGroup },
782 {
"glObjectLabel", (QFunctionPointer) ::glObjectLabel },
783 {
"glGetObjectLabel", (QFunctionPointer) ::glGetObjectLabel },
784 {
"glObjectPtrLabel", (QFunctionPointer) ::glObjectPtrLabel },
785 {
"glGetObjectPtrLabel", (QFunctionPointer) ::glGetObjectPtrLabel },
786 {
"glGetPointerv", (QFunctionPointer) ::glGetPointerv },
787 {
"glEnablei", (QFunctionPointer) ::glEnablei },
788 {
"glDisablei", (QFunctionPointer) ::glDisablei },
789 {
"glBlendEquationi", (QFunctionPointer) ::glBlendEquationi },
790 {
"glBlendEquationSeparatei", (QFunctionPointer) ::glBlendEquationSeparatei },
791 {
"glBlendFunci", (QFunctionPointer) ::glBlendFunci },
792 {
"glBlendFuncSeparatei", (QFunctionPointer) ::glBlendFuncSeparatei },
793 {
"glColorMaski", (QFunctionPointer) ::glColorMaski },
794 {
"glIsEnabledi", (QFunctionPointer) ::glIsEnabledi },
795 {
"glDrawElementsBaseVertex", (QFunctionPointer) ::glDrawElementsBaseVertex },
796 {
"glDrawRangeElementsBaseVertex", (QFunctionPointer) ::glDrawRangeElementsBaseVertex },
797 {
"glDrawElementsInstancedBaseVertex", (QFunctionPointer) ::glDrawElementsInstancedBaseVertex },
798 {
"glFramebufferTexture", (QFunctionPointer) ::glFramebufferTexture },
799 {
"glPrimitiveBoundingBox", (QFunctionPointer) ::glPrimitiveBoundingBox },
800 {
"glGetGraphicsResetStatus", (QFunctionPointer) ::glGetGraphicsResetStatus },
801 {
"glReadnPixels", (QFunctionPointer) ::glReadnPixels },
802 {
"glGetnUniformfv", (QFunctionPointer) ::glGetnUniformfv },
803 {
"glGetnUniformiv", (QFunctionPointer) ::glGetnUniformiv },
804 {
"glGetnUniformuiv", (QFunctionPointer) ::glGetnUniformuiv },
805 {
"glMinSampleShading", (QFunctionPointer) ::glMinSampleShading },
806 {
"glPatchParameteri", (QFunctionPointer) ::glPatchParameteri },
807 {
"glTexParameterIiv", (QFunctionPointer) ::glTexParameterIiv },
808 {
"glTexParameterIuiv", (QFunctionPointer) ::glTexParameterIuiv },
809 {
"glGetTexParameterIiv", (QFunctionPointer) ::glGetTexParameterIiv },
810 {
"glGetTexParameterIuiv", (QFunctionPointer) ::glGetTexParameterIuiv },
811 {
"glSamplerParameterIiv", (QFunctionPointer) ::glSamplerParameterIiv },
812 {
"glSamplerParameterIuiv", (QFunctionPointer) ::glSamplerParameterIuiv },
813 {
"glGetSamplerParameterIiv", (QFunctionPointer) ::glGetSamplerParameterIiv },
814 {
"glGetSamplerParameterIuiv", (QFunctionPointer) ::glGetSamplerParameterIuiv },
815 {
"glTexBuffer", (QFunctionPointer) ::glTexBuffer },
816 {
"glTexBufferRange", (QFunctionPointer) ::glTexBufferRange },
817 {
"glTexStorage3DMultisample", (QFunctionPointer) ::glTexStorage3DMultisample },
821 for (size_t i = 0; i <
sizeof(standardFuncs) /
sizeof(StdFunc); ++i) {
822 if (!qstrcmp(procName, standardFuncs[i].name)) {
823 proc = standardFuncs[i].func;