1 #include <aros/config.h>
3 #include <aros/symbolsets.h>
5 #include "hostgl_renderer_config.h"
6 #include "glx_hostlib.h"
8 #include <proto/hostlib.h>
10 #include LC_LIBDEFS_FILE
13 #include <aros/debug.h>
15 void *glx_handle
= NULL
;
16 struct glx_func glx_func
;
18 static const char *glx_func_names
[] =
21 "glXCreateNewContext",
24 "glXMakeContextCurrent",
26 "glXGetFBConfigAttrib",
27 #if defined(RENDERER_SEPARATE_X_WINDOW)
28 "glXGetVisualFromFBConfig",
32 #if defined(RENDERER_PBUFFER_WPA)
36 #if defined(RENDERER_PIXMAP_BLIT)
37 "glXGetVisualFromFBConfig",
39 "glXDestroyGLXPixmap",
46 struct gl_func gl_func
;
47 static const char *gl_func_names
[];
51 static void *hostlib_load_so(const char *sofile
, const char **names
, void **funcptr
)
58 D(bug("[HostGL] loading %d functions from %s\n", nfuncs
, sofile
));
60 if ((handle
= HostLib_Open(sofile
, &err
)) == NULL
)
62 bug("[HostGL] couldn't open '%s': %s\n", sofile
, err
);
66 while((name
= names
[i
]) != NULL
)
68 funcptr
[i
] = HostLib_GetPointer(handle
, name
, &err
);
69 D(bug("%s(%x)\n", name
, funcptr
[i
]));
71 bug("[HostGL] couldn't get symbol '%s' from '%s': %s\n", name
, sofile
, err
);
72 HostLib_Close(handle
, NULL
);
78 D(bug("[HostGL] GLX done\n"));
83 static void load_gl_functions(const char **names
, void **funcptr
)
85 const char * name
= NULL
;
88 while ((name
= names
[i
]) != NULL
)
90 funcptr
[i
] = GLXCALL(glXGetProcAddress
, name
); /* NULLS are allowed */
93 * AROSMesa's linklib prior to version 18 was invalidly redirecting standard GL calls
94 * to their NV equivalents. HostGL tries to provide those NV functions by remaping them
95 * only ARB function in order for old applications to run correclty.
97 if (strstr((char *)name
, "NV") != NULL
)
99 if (funcptr
[i
] == NULL
)
101 char dupname
[128] = {0};
102 CopyMem(name
, dupname
, strlen((char *)name
) + 1);
103 char * lastptr
= strstr(dupname
, "NV");
104 CopyMem("ARB\0", lastptr
, 4);
106 funcptr
[i
] = GLXCALL(glXGetProcAddress
, dupname
); /* NULLS are allowed */
110 D(if (funcptr
[i
] == NULL
) bug("[HostGL] Not found: %s\n", name
));
115 static int glx_hostlib_init(LIBBASETYPEPTR LIBBASE
)
117 D(bug("[HostGL] GLX hostlib init\n"));
119 if ((HostLibBase
= OpenResource("hostlib.resource")) == NULL
)
121 bug("[HostGL] couldn't open hostlib.resource\n");
125 if ((glx_handle
= hostlib_load_so(GLX_SOFILE
, glx_func_names
, (void **) &glx_func
)) == NULL
)
128 load_gl_functions(gl_func_names
, (void **) &gl_func
);
133 static int glx_hostlib_expunge(LIBBASETYPEPTR LIBBASE
)
135 D(bug("[HostGL] GLX hostlib expunge\n"));
137 if (glx_handle
!= NULL
)
138 HostLib_Close(glx_handle
, NULL
);
143 ADD2INITLIB(glx_hostlib_init
, 0)
144 ADD2EXPUNGELIB(glx_hostlib_expunge
, 0)
146 static const char *gl_func_names
[] =
164 "glGetPolygonStipple",
175 "glEnableClientState",
176 "glDisableClientState",
183 "glPushClientAttrib",
374 "glInterleavedArrays",
431 "glGetTexParameterfv",
432 "glGetTexParameteriv",
433 "glGetTexLevelParameterfv",
434 "glGetTexLevelParameteriv",
441 "glPrioritizeTextures",
442 "glAreTexturesResident",
448 "glCopyTexSubImage1D",
449 "glCopyTexSubImage2D",
484 "glDrawRangeElements",
487 "glCopyTexSubImage3D",
490 "glColorTableParameteriv",
491 "glColorTableParameterfv",
492 "glCopyColorSubTable",
495 "glGetColorTableParameterfv",
496 "glGetColorTableParameteriv",
502 "glGetHistogramParameterfv",
503 "glGetHistogramParameteriv",
507 "glGetMinmaxParameterfv",
508 "glGetMinmaxParameteriv",
509 "glConvolutionFilter1D",
510 "glConvolutionFilter2D",
511 "glConvolutionParameterf",
512 "glConvolutionParameterfv",
513 "glConvolutionParameteri",
514 "glConvolutionParameteriv",
515 "glCopyConvolutionFilter1D",
516 "glCopyConvolutionFilter2D",
517 "glGetConvolutionFilter",
518 "glGetConvolutionParameterfv",
519 "glGetConvolutionParameteriv",
520 "glSeparableFilter2D",
521 "glGetSeparableFilter",
523 "glClientActiveTexture",
524 "glCompressedTexImage1D",
525 "glCompressedTexImage2D",
526 "glCompressedTexImage3D",
527 "glCompressedTexSubImage1D",
528 "glCompressedTexSubImage2D",
529 "glCompressedTexSubImage3D",
530 "glGetCompressedTexImage",
532 "glMultiTexCoord1dv",
534 "glMultiTexCoord1fv",
536 "glMultiTexCoord1iv",
538 "glMultiTexCoord1sv",
540 "glMultiTexCoord2dv",
542 "glMultiTexCoord2fv",
544 "glMultiTexCoord2iv",
546 "glMultiTexCoord2sv",
548 "glMultiTexCoord3dv",
550 "glMultiTexCoord3fv",
552 "glMultiTexCoord3iv",
554 "glMultiTexCoord3sv",
556 "glMultiTexCoord4dv",
558 "glMultiTexCoord4fv",
560 "glMultiTexCoord4iv",
562 "glMultiTexCoord4sv",
563 "glLoadTransposeMatrixd",
564 "glLoadTransposeMatrixf",
565 "glMultTransposeMatrixd",
566 "glMultTransposeMatrixf",
568 "glActiveTextureARB",
569 "glClientActiveTextureARB",
570 "glMultiTexCoord1dARB",
571 "glMultiTexCoord1dvARB",
572 "glMultiTexCoord1fARB",
573 "glMultiTexCoord1fvARB",
574 "glMultiTexCoord1iARB",
575 "glMultiTexCoord1ivARB",
576 "glMultiTexCoord1sARB",
577 "glMultiTexCoord1svARB",
578 "glMultiTexCoord2dARB",
579 "glMultiTexCoord2dvARB",
580 "glMultiTexCoord2fARB",
581 "glMultiTexCoord2fvARB",
582 "glMultiTexCoord2iARB",
583 "glMultiTexCoord2ivARB",
584 "glMultiTexCoord2sARB",
585 "glMultiTexCoord2svARB",
586 "glMultiTexCoord3dARB",
587 "glMultiTexCoord3dvARB",
588 "glMultiTexCoord3fARB",
589 "glMultiTexCoord3fvARB",
590 "glMultiTexCoord3iARB",
591 "glMultiTexCoord3ivARB",
592 "glMultiTexCoord3sARB",
593 "glMultiTexCoord3svARB",
594 "glMultiTexCoord4dARB",
595 "glMultiTexCoord4dvARB",
596 "glMultiTexCoord4fARB",
597 "glMultiTexCoord4fvARB",
598 "glMultiTexCoord4iARB",
599 "glMultiTexCoord4ivARB",
600 "glMultiTexCoord4sARB",
601 "glMultiTexCoord4svARB",
602 "glBlendFuncSeparate",
609 "glMultiDrawElements",
611 "glPointParameterfv",
613 "glPointParameteriv",
614 "glSecondaryColor3b",
615 "glSecondaryColor3bv",
616 "glSecondaryColor3d",
617 "glSecondaryColor3dv",
618 "glSecondaryColor3f",
619 "glSecondaryColor3fv",
620 "glSecondaryColor3i",
621 "glSecondaryColor3iv",
622 "glSecondaryColor3s",
623 "glSecondaryColor3sv",
624 "glSecondaryColor3ub",
625 "glSecondaryColor3ubv",
626 "glSecondaryColor3ui",
627 "glSecondaryColor3uiv",
628 "glSecondaryColor3us",
629 "glSecondaryColor3usv",
630 "glSecondaryColorPointer",
653 "glGetQueryObjectiv",
654 "glGetQueryObjectuiv",
661 "glGetBufferSubData",
664 "glGetBufferParameteriv",
665 "glGetBufferPointerv",
666 "glBlendEquationSeparate",
668 "glStencilOpSeparate",
669 "glStencilFuncSeparate",
670 "glStencilMaskSeparate",
672 "glBindAttribLocation",
679 "glDisableVertexAttribArray",
680 "glEnableVertexAttribArray",
682 "glGetActiveUniform",
683 "glGetAttachedShaders",
684 "glGetAttribLocation",
686 "glGetProgramInfoLog",
688 "glGetShaderInfoLog",
690 "glGetUniformLocation",
693 "glGetVertexAttribdv",
694 "glGetVertexAttribfv",
695 "glGetVertexAttribiv",
696 "glGetVertexAttribPointerv",
718 "glUniformMatrix2fv",
719 "glUniformMatrix3fv",
720 "glUniformMatrix4fv",
740 "glVertexAttrib4Nbv",
741 "glVertexAttrib4Niv",
742 "glVertexAttrib4Nsv",
743 "glVertexAttrib4Nub",
744 "glVertexAttrib4Nubv",
745 "glVertexAttrib4Nuiv",
746 "glVertexAttrib4Nusv",
755 "glVertexAttrib4ubv",
756 "glVertexAttrib4uiv",
757 "glVertexAttrib4usv",
758 "glVertexAttribPointer",
759 "glUniformMatrix2x3fv",
760 "glUniformMatrix3x2fv",
761 "glUniformMatrix2x4fv",
762 "glUniformMatrix4x2fv",
763 "glUniformMatrix3x4fv",
764 "glUniformMatrix4x3fv",
765 "glLoadTransposeMatrixfARB",
766 "glLoadTransposeMatrixdARB",
767 "glMultTransposeMatrixfARB",
768 "glMultTransposeMatrixdARB",
769 "glSampleCoverageARB",
770 "glCompressedTexImage3DARB",
771 "glCompressedTexImage2DARB",
772 "glCompressedTexImage1DARB",
773 "glCompressedTexSubImage3DARB",
774 "glCompressedTexSubImage2DARB",
775 "glCompressedTexSubImage1DARB",
776 "glGetCompressedTexImageARB",
777 "glPointParameterfARB",
778 "glPointParameterfvARB",
795 "glVertexAttrib1dARB",
796 "glVertexAttrib1dvARB",
797 "glVertexAttrib1fARB",
798 "glVertexAttrib1fvARB",
799 "glVertexAttrib1sARB",
800 "glVertexAttrib1svARB",
801 "glVertexAttrib2dARB",
802 "glVertexAttrib2dvARB",
803 "glVertexAttrib2fARB",
804 "glVertexAttrib2fvARB",
805 "glVertexAttrib2sARB",
806 "glVertexAttrib2svARB",
807 "glVertexAttrib3dARB",
808 "glVertexAttrib3dvARB",
809 "glVertexAttrib3fARB",
810 "glVertexAttrib3fvARB",
811 "glVertexAttrib3sARB",
812 "glVertexAttrib3svARB",
813 "glVertexAttrib4NbvARB",
814 "glVertexAttrib4NivARB",
815 "glVertexAttrib4NsvARB",
816 "glVertexAttrib4NubARB",
817 "glVertexAttrib4NubvARB",
818 "glVertexAttrib4NuivARB",
819 "glVertexAttrib4NusvARB",
820 "glVertexAttrib4bvARB",
821 "glVertexAttrib4dARB",
822 "glVertexAttrib4dvARB",
823 "glVertexAttrib4fARB",
824 "glVertexAttrib4fvARB",
825 "glVertexAttrib4ivARB",
826 "glVertexAttrib4sARB",
827 "glVertexAttrib4svARB",
828 "glVertexAttrib4ubvARB",
829 "glVertexAttrib4uivARB",
830 "glVertexAttrib4usvARB",
831 "glVertexAttribPointerARB",
832 "glEnableVertexAttribArrayARB",
833 "glDisableVertexAttribArrayARB",
834 "glProgramStringARB",
836 "glDeleteProgramsARB",
838 "glProgramEnvParameter4dARB",
839 "glProgramEnvParameter4dvARB",
840 "glProgramEnvParameter4fARB",
841 "glProgramEnvParameter4fvARB",
842 "glProgramLocalParameter4dARB",
843 "glProgramLocalParameter4dvARB",
844 "glProgramLocalParameter4fARB",
845 "glProgramLocalParameter4fvARB",
846 "glGetProgramEnvParameterdvARB",
847 "glGetProgramEnvParameterfvARB",
848 "glGetProgramLocalParameterdvARB",
849 "glGetProgramLocalParameterfvARB",
851 "glGetProgramStringARB",
852 "glGetVertexAttribdvARB",
853 "glGetVertexAttribfvARB",
854 "glGetVertexAttribivARB",
855 "glGetVertexAttribPointervARB",
858 "glDeleteBuffersARB",
862 "glBufferSubDataARB",
863 "glGetBufferSubDataARB",
866 "glGetBufferParameterivARB",
867 "glGetBufferPointervARB",
869 "glDeleteQueriesARB",
874 "glGetQueryObjectivARB",
875 "glGetQueryObjectuivARB",
879 "glCreateShaderObjectARB",
881 "glCompileShaderARB",
882 "glCreateProgramObjectARB",
885 "glUseProgramObjectARB",
886 "glValidateProgramARB",
903 "glUniformMatrix2fvARB",
904 "glUniformMatrix3fvARB",
905 "glUniformMatrix4fvARB",
906 "glGetObjectParameterfvARB",
907 "glGetObjectParameterivARB",
909 "glGetAttachedObjectsARB",
910 "glGetUniformLocationARB",
911 "glGetActiveUniformARB",
914 "glGetShaderSourceARB",
915 "glBindAttribLocationARB",
916 "glGetActiveAttribARB",
917 "glGetAttribLocationARB",
920 "glBindRenderbuffer",
921 "glDeleteRenderbuffers",
922 "glGenRenderbuffers",
923 "glRenderbufferStorage",
924 "glGetRenderbufferParameteriv",
927 "glDeleteFramebuffers",
929 "glCheckFramebufferStatus",
930 "glFramebufferTexture1D",
931 "glFramebufferTexture2D",
932 "glFramebufferTexture3D",
933 "glFramebufferRenderbuffer",
934 "glGetFramebufferAttachmentParameteriv",
937 "glRenderbufferStorageMultisample",
938 "glFramebufferTextureLayer",
940 "glPolygonOffsetEXT",
942 "glTexSubImage3DEXT",
943 "glTexSubImage1DEXT",
944 "glTexSubImage2DEXT",
945 "glCopyTexImage1DEXT",
946 "glCopyTexImage2DEXT",
947 "glCopyTexSubImage1DEXT",
948 "glCopyTexSubImage2DEXT",
949 "glCopyTexSubImage3DEXT",
950 "glAreTexturesResidentEXT",
952 "glDeleteTexturesEXT",
955 "glPrioritizeTexturesEXT",
959 "glEdgeFlagPointerEXT",
962 "glNormalPointerEXT",
963 "glTexCoordPointerEXT",
964 "glVertexPointerEXT",
965 "glBlendEquationEXT",
966 "glPointParameterfEXT",
967 "glPointParameterfvEXT",
969 "glGetColorTableEXT",
970 "glGetColorTableParameterivEXT",
971 "glGetColorTableParameterfvEXT",
974 "glDrawRangeElementsEXT",
975 "glSecondaryColor3bEXT",
976 "glSecondaryColor3bvEXT",
977 "glSecondaryColor3dEXT",
978 "glSecondaryColor3dvEXT",
979 "glSecondaryColor3fEXT",
980 "glSecondaryColor3fvEXT",
981 "glSecondaryColor3iEXT",
982 "glSecondaryColor3ivEXT",
983 "glSecondaryColor3sEXT",
984 "glSecondaryColor3svEXT",
985 "glSecondaryColor3ubEXT",
986 "glSecondaryColor3ubvEXT",
987 "glSecondaryColor3uiEXT",
988 "glSecondaryColor3uivEXT",
989 "glSecondaryColor3usEXT",
990 "glSecondaryColor3usvEXT",
991 "glSecondaryColorPointerEXT",
992 "glMultiDrawArraysEXT",
993 "glMultiDrawElementsEXT",
998 "glFogCoordPointerEXT",
999 "glBlendFuncSeparateEXT",
1000 "glFlushVertexArrayRangeNV",
1001 "glVertexArrayRangeNV",
1002 "glCombinerParameterfvNV",
1003 "glCombinerParameterfNV",
1004 "glCombinerParameterivNV",
1005 "glCombinerParameteriNV",
1006 "glCombinerInputNV",
1007 "glCombinerOutputNV",
1008 "glFinalCombinerInputNV",
1009 "glGetCombinerInputParameterfvNV",
1010 "glGetCombinerInputParameterivNV",
1011 "glGetCombinerOutputParameterfvNV",
1012 "glGetCombinerOutputParameterivNV",
1013 "glGetFinalCombinerInputParameterfvNV",
1014 "glGetFinalCombinerInputParameterivNV",
1015 "glResizeBuffersMESA",
1016 "glWindowPos2dMESA",
1017 "glWindowPos2dvMESA",
1018 "glWindowPos2fMESA",
1019 "glWindowPos2fvMESA",
1020 "glWindowPos2iMESA",
1021 "glWindowPos2ivMESA",
1022 "glWindowPos2sMESA",
1023 "glWindowPos2svMESA",
1024 "glWindowPos3dMESA",
1025 "glWindowPos3dvMESA",
1026 "glWindowPos3fMESA",
1027 "glWindowPos3fvMESA",
1028 "glWindowPos3iMESA",
1029 "glWindowPos3ivMESA",
1030 "glWindowPos3sMESA",
1031 "glWindowPos3svMESA",
1032 "glWindowPos4dMESA",
1033 "glWindowPos4dvMESA",
1034 "glWindowPos4fMESA",
1035 "glWindowPos4fvMESA",
1036 "glWindowPos4iMESA",
1037 "glWindowPos4ivMESA",
1038 "glWindowPos4sMESA",
1039 "glWindowPos4svMESA",
1040 "glAreProgramsResidentNV",
1042 "glDeleteProgramsNV",
1043 "glExecuteProgramNV",
1045 "glGetProgramParameterdvNV",
1046 "glGetProgramParameterfvNV",
1048 "glGetProgramStringNV",
1049 "glGetTrackMatrixivNV",
1050 "glGetVertexAttribdvNV",
1051 "glGetVertexAttribfvNV",
1052 "glGetVertexAttribivNV",
1053 "glGetVertexAttribPointervNV",
1056 "glProgramParameter4dNV",
1057 "glProgramParameter4dvNV",
1058 "glProgramParameter4fNV",
1059 "glProgramParameter4fvNV",
1060 "glProgramParameters4dvNV",
1061 "glProgramParameters4fvNV",
1062 "glRequestResidentProgramsNV",
1064 "glVertexAttribPointerNV",
1065 "glVertexAttrib1dNV",
1066 "glVertexAttrib1dvNV",
1067 "glVertexAttrib1fNV",
1068 "glVertexAttrib1fvNV",
1069 "glVertexAttrib1sNV",
1070 "glVertexAttrib1svNV",
1071 "glVertexAttrib2dNV",
1072 "glVertexAttrib2dvNV",
1073 "glVertexAttrib2fNV",
1074 "glVertexAttrib2fvNV",
1075 "glVertexAttrib2sNV",
1076 "glVertexAttrib2svNV",
1077 "glVertexAttrib3dNV",
1078 "glVertexAttrib3dvNV",
1079 "glVertexAttrib3fNV",
1080 "glVertexAttrib3fvNV",
1081 "glVertexAttrib3sNV",
1082 "glVertexAttrib3svNV",
1083 "glVertexAttrib4dNV",
1084 "glVertexAttrib4dvNV",
1085 "glVertexAttrib4fNV",
1086 "glVertexAttrib4fvNV",
1087 "glVertexAttrib4sNV",
1088 "glVertexAttrib4svNV",
1089 "glVertexAttrib4ubNV",
1090 "glVertexAttrib4ubvNV",
1091 "glVertexAttribs1dvNV",
1092 "glVertexAttribs1fvNV",
1093 "glVertexAttribs1svNV",
1094 "glVertexAttribs2dvNV",
1095 "glVertexAttribs2fvNV",
1096 "glVertexAttribs2svNV",
1097 "glVertexAttribs3dvNV",
1098 "glVertexAttribs3fvNV",
1099 "glVertexAttribs3svNV",
1100 "glVertexAttribs4dvNV",
1101 "glVertexAttribs4fvNV",
1102 "glVertexAttribs4svNV",
1103 "glVertexAttribs4ubvNV",
1104 "glTexBumpParameterivATI",
1105 "glTexBumpParameterfvATI",
1106 "glGetTexBumpParameterivATI",
1107 "glGetTexBumpParameterfvATI",
1108 "glGenFragmentShadersATI",
1109 "glBindFragmentShaderATI",
1110 "glDeleteFragmentShaderATI",
1111 "glBeginFragmentShaderATI",
1112 "glEndFragmentShaderATI",
1113 "glPassTexCoordATI",
1115 "glColorFragmentOp1ATI",
1116 "glColorFragmentOp2ATI",
1117 "glColorFragmentOp3ATI",
1118 "glAlphaFragmentOp1ATI",
1119 "glAlphaFragmentOp2ATI",
1120 "glAlphaFragmentOp3ATI",
1121 "glSetFragmentShaderConstantATI",
1122 "glPointParameteriNV",
1123 "glPointParameterivNV",
1125 "glProgramNamedParameter4fNV",
1126 "glProgramNamedParameter4dNV",
1127 "glProgramNamedParameter4fvNV",
1128 "glProgramNamedParameter4dvNV",
1129 "glGetProgramNamedParameterfvNV",
1130 "glGetProgramNamedParameterdvNV",
1131 "glIsRenderbufferEXT",
1132 "glBindRenderbufferEXT",
1133 "glDeleteRenderbuffersEXT",
1134 "glGenRenderbuffersEXT",
1135 "glRenderbufferStorageEXT",
1136 "glGetRenderbufferParameterivEXT",
1137 "glIsFramebufferEXT",
1138 "glBindFramebufferEXT",
1139 "glDeleteFramebuffersEXT",
1140 "glGenFramebuffersEXT",
1141 "glCheckFramebufferStatusEXT",
1142 "glFramebufferTexture1DEXT",
1143 "glFramebufferTexture2DEXT",
1144 "glFramebufferTexture3DEXT",
1145 "glFramebufferRenderbufferEXT",
1146 "glGetFramebufferAttachmentParameterivEXT",
1147 "glGenerateMipmapEXT",
1148 "glFramebufferTextureLayerEXT",
1150 "glFlushMappedBufferRange",
1151 "glBindVertexArray",
1152 "glDeleteVertexArrays",
1153 "glGenVertexArrays",
1155 "glCopyBufferSubData",
1163 "glProvokingVertexEXT",
1164 "glDrawElementsBaseVertex",
1165 "glDrawRangeElementsBaseVertex",
1166 "glMultiDrawElementsBaseVertex",
1167 "glProvokingVertex",
1168 "glRenderbufferStorageMultisampleEXT",
1169 "glColorMaskIndexedEXT",
1170 "glGetBooleanIndexedvEXT",
1171 "glGetIntegerIndexedvEXT",
1172 "glEnableIndexedEXT",
1173 "glDisableIndexedEXT",
1174 "glIsEnabledIndexedEXT",
1175 "glBeginConditionalRenderNV",
1176 "glEndConditionalRenderNV",
1177 "glObjectPurgeableAPPLE",
1178 "glObjectUnpurgeableAPPLE",
1179 "glGetObjectParameterivAPPLE",
1180 "glBeginTransformFeedback",
1181 "glEndTransformFeedback",
1182 "glBindBufferRange",
1184 "glTransformFeedbackVaryings",
1185 "glGetTransformFeedbackVarying",
1186 "glDrawArraysInstanced",
1187 "glDrawElementsInstanced",
1188 "glDrawArraysInstancedARB",
1189 "glDrawElementsInstancedARB",
1190 "glProgramParameteriARB",
1191 "glFramebufferTextureARB",
1192 "glFramebufferTextureFaceARB",
1193 "glBindTransformFeedback",
1194 "glDeleteTransformFeedbacks",
1195 "glGenTransformFeedbacks",
1196 "glIsTransformFeedback",
1197 "glPauseTransformFeedback",
1198 "glResumeTransformFeedback",
1199 "glDrawTransformFeedback",
1200 "glDrawArraysInstancedEXT",
1201 "glDrawElementsInstancedEXT",
1202 "glBeginTransformFeedbackEXT",
1203 "glEndTransformFeedbackEXT",
1204 "glBindBufferRangeEXT",
1205 "glBindBufferOffsetEXT",
1206 "glBindBufferBaseEXT",
1207 "glTransformFeedbackVaryingsEXT",
1208 "glGetTransformFeedbackVaryingEXT",
1209 "glEGLImageTargetTexture2DOES",
1210 "glEGLImageTargetRenderbufferStorageOES",
1218 "glBeginConditionalRender",
1219 "glEndConditionalRender",
1220 "glVertexAttribIPointer",
1221 "glGetVertexAttribIiv",
1222 "glGetVertexAttribIuiv",
1223 "glVertexAttribI1i",
1224 "glVertexAttribI2i",
1225 "glVertexAttribI3i",
1226 "glVertexAttribI4i",
1227 "glVertexAttribI1ui",
1228 "glVertexAttribI2ui",
1229 "glVertexAttribI3ui",
1230 "glVertexAttribI4ui",
1231 "glVertexAttribI1iv",
1232 "glVertexAttribI2iv",
1233 "glVertexAttribI3iv",
1234 "glVertexAttribI4iv",
1235 "glVertexAttribI1uiv",
1236 "glVertexAttribI2uiv",
1237 "glVertexAttribI3uiv",
1238 "glVertexAttribI4uiv",
1239 "glVertexAttribI4bv",
1240 "glVertexAttribI4sv",
1241 "glVertexAttribI4ubv",
1242 "glVertexAttribI4usv",
1244 "glBindFragDataLocation",
1245 "glGetFragDataLocation",
1254 "glTexParameterIiv",
1255 "glTexParameterIuiv",
1256 "glGetTexParameterIiv",
1257 "glGetTexParameterIuiv",
1264 "glPrimitiveRestartIndex",
1265 "glGetInteger64i_v",
1266 "glGetBufferParameteri64v",
1267 "glFramebufferTexture",
1268 "glVertexAttribDivisor",
1269 "glPrimitiveRestartNV",
1270 "glPrimitiveRestartIndexNV",
1271 "glVertexAttribI1iEXT",
1272 "glVertexAttribI2iEXT",
1273 "glVertexAttribI3iEXT",
1274 "glVertexAttribI4iEXT",
1275 "glVertexAttribI1uiEXT",
1276 "glVertexAttribI2uiEXT",
1277 "glVertexAttribI3uiEXT",
1278 "glVertexAttribI4uiEXT",
1279 "glVertexAttribI1ivEXT",
1280 "glVertexAttribI2ivEXT",
1281 "glVertexAttribI3ivEXT",
1282 "glVertexAttribI4ivEXT",
1283 "glVertexAttribI1uivEXT",
1284 "glVertexAttribI2uivEXT",
1285 "glVertexAttribI3uivEXT",
1286 "glVertexAttribI4uivEXT",
1287 "glVertexAttribI4bvEXT",
1288 "glVertexAttribI4svEXT",
1289 "glVertexAttribI4ubvEXT",
1290 "glVertexAttribI4usvEXT",
1291 "glVertexAttribIPointerEXT",
1292 "glGetVertexAttribIivEXT",
1293 "glGetVertexAttribIuivEXT",
1294 "glGetUniformuivEXT",
1295 "glBindFragDataLocationEXT",
1296 "glGetFragDataLocationEXT",
1305 "glTexParameterIivEXT",
1306 "glTexParameterIuivEXT",
1307 "glGetTexParameterIivEXT",
1308 "glGetTexParameterIuivEXT",
1309 "glClearColorIiEXT",
1310 "glClearColorIuiEXT",
1311 "glUseShaderProgramEXT",
1312 "glActiveProgramEXT",
1313 "glCreateShaderProgramEXT",
1314 "glProgramEnvParameters4fvEXT",
1315 "glProgramLocalParameters4fvEXT",
1316 "glBlendEquationSeparateATI",
1317 "glGetHistogramEXT",
1318 "glGetHistogramParameterfvEXT",
1319 "glGetHistogramParameterivEXT",
1321 "glGetMinmaxParameterfvEXT",
1322 "glGetMinmaxParameterivEXT",
1325 "glResetHistogramEXT",
1327 "glConvolutionFilter1DEXT",
1328 "glConvolutionFilter2DEXT",
1329 "glConvolutionParameterfEXT",
1330 "glConvolutionParameterfvEXT",
1331 "glConvolutionParameteriEXT",
1332 "glConvolutionParameterivEXT",
1333 "glCopyConvolutionFilter1DEXT",
1334 "glCopyConvolutionFilter2DEXT",
1335 "glGetConvolutionFilterEXT",
1336 "glGetConvolutionParameterfvEXT",
1337 "glGetConvolutionParameterivEXT",
1338 "glGetSeparableFilterEXT",
1339 "glSeparableFilter2DEXT",
1341 "glColorTableParameterfvSGI",
1342 "glColorTableParameterivSGI",
1343 "glCopyColorTableSGI",
1344 "glGetColorTableSGI",
1345 "glGetColorTableParameterfvSGI",
1346 "glGetColorTableParameterivSGI",
1347 "glPixelTexGenSGIX",
1348 "glPixelTexGenParameteriSGIS",
1349 "glPixelTexGenParameterivSGIS",
1350 "glPixelTexGenParameterfSGIS",
1351 "glPixelTexGenParameterfvSGIS",
1352 "glGetPixelTexGenParameterivSGIS",
1353 "glGetPixelTexGenParameterfvSGIS",
1355 "glSamplePatternSGIS",
1356 "glPointParameterfSGIS",
1357 "glPointParameterfvSGIS",
1358 "glColorSubTableEXT",
1359 "glCopyColorSubTableEXT",
1360 "glBlendFuncSeparateINGR",
1361 "glMultiModeDrawArraysIBM",
1362 "glMultiModeDrawElementsIBM",
1364 "glSamplePatternEXT",
1372 "glActiveStencilFaceEXT",
1373 "glBindVertexArrayAPPLE",
1374 "glDeleteVertexArraysAPPLE",
1375 "glGenVertexArraysAPPLE",
1376 "glIsVertexArrayAPPLE",
1377 "glStencilOpSeparateATI",
1378 "glStencilFuncSeparateATI",
1380 "glBlendEquationSeparateEXT",
1381 "glBlitFramebufferEXT",
1382 "glGetQueryObjecti64vEXT",
1383 "glGetQueryObjectui64vEXT",
1384 "glBufferParameteriAPPLE",
1385 "glFlushMappedBufferRangeAPPLE",
1386 "glTextureRangeAPPLE",
1387 "glGetTexParameterPointervAPPLE",
1389 "glFramebufferTextureLayerARB",
1390 "glVertexAttribDivisorARB",
1392 "glDrawElementsInstancedBaseVertex",
1393 "glBlendEquationiARB",
1394 "glBlendEquationSeparateiARB",
1396 "glBlendFuncSeparateiARB",
1401 "glSamplerParameteri",
1402 "glSamplerParameteriv",
1403 "glSamplerParameterf",
1404 "glSamplerParameterfv",
1405 "glSamplerParameterIiv",
1406 "glSamplerParameterIuiv",
1407 "glGetSamplerParameteriv",
1408 "glGetSamplerParameterIiv",
1409 "glGetSamplerParameterfv",
1410 "glGetSamplerParameterIuiv",
1411 "glReleaseShaderCompiler",
1413 "glGetShaderPrecisionFormat",
1416 "glGetGraphicsResetStatusARB",
1420 "glGetnPixelMapfvARB",
1421 "glGetnPixelMapuivARB",
1422 "glGetnPixelMapusvARB",
1423 "glGetnPolygonStippleARB",
1424 "glGetnColorTableARB",
1425 "glGetnConvolutionFilterARB",
1426 "glGetnSeparableFilterARB",
1427 "glGetnHistogramARB",
1429 "glGetnTexImageARB",
1431 "glGetnCompressedTexImageARB",
1432 "glGetnUniformfvARB",
1433 "glGetnUniformivARB",
1434 "glGetnUniformuivARB",
1435 "glGetnUniformdvARB",
1436 "glBlendFuncIndexedAMD",
1437 "glBlendFuncSeparateIndexedAMD",
1438 "glBlendEquationIndexedAMD",
1439 "glBlendEquationSeparateIndexedAMD",
1440 "glTextureBarrierNV",