🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1634 lines
112 KiB

  1. /**
  2. * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
  3. */
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <glad/gl.h>
  8. #ifndef GLAD_IMPL_UTIL_C_
  9. #define GLAD_IMPL_UTIL_C_
  10. #ifdef _MSC_VER
  11. #define GLAD_IMPL_UTIL_SSCANF sscanf_s
  12. #else
  13. #define GLAD_IMPL_UTIL_SSCANF sscanf
  14. #endif
  15. #endif /* GLAD_IMPL_UTIL_C_ */
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. int GLAD_GL_VERSION_1_0 = 0;
  20. int GLAD_GL_VERSION_1_1 = 0;
  21. int GLAD_GL_VERSION_1_2 = 0;
  22. int GLAD_GL_VERSION_1_3 = 0;
  23. int GLAD_GL_VERSION_1_4 = 0;
  24. int GLAD_GL_VERSION_1_5 = 0;
  25. int GLAD_GL_VERSION_2_0 = 0;
  26. int GLAD_GL_VERSION_2_1 = 0;
  27. int GLAD_GL_VERSION_3_0 = 0;
  28. int GLAD_GL_VERSION_3_1 = 0;
  29. int GLAD_GL_VERSION_3_2 = 0;
  30. int GLAD_GL_VERSION_3_3 = 0;
  31. int GLAD_GL_VERSION_4_0 = 0;
  32. int GLAD_GL_VERSION_4_1 = 0;
  33. int GLAD_GL_VERSION_4_2 = 0;
  34. int GLAD_GL_VERSION_4_3 = 0;
  35. int GLAD_GL_VERSION_4_4 = 0;
  36. int GLAD_GL_VERSION_4_5 = 0;
  37. int GLAD_GL_VERSION_4_6 = 0;
  38. int GLAD_GL_EXT_texture_filter_anisotropic = 0;
  39. PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram = NULL;
  40. PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
  41. PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
  42. PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL;
  43. PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL;
  44. PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed = NULL;
  45. PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL;
  46. PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
  47. PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
  48. PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL;
  49. PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL;
  50. PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase = NULL;
  51. PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange = NULL;
  52. PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL;
  53. PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL;
  54. PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
  55. PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture = NULL;
  56. PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures = NULL;
  57. PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline = NULL;
  58. PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
  59. PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL;
  60. PFNGLBINDSAMPLERSPROC glad_glBindSamplers = NULL;
  61. PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
  62. PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit = NULL;
  63. PFNGLBINDTEXTURESPROC glad_glBindTextures = NULL;
  64. PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL;
  65. PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL;
  66. PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer = NULL;
  67. PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers = NULL;
  68. PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
  69. PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
  70. PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
  71. PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei = NULL;
  72. PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi = NULL;
  73. PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
  74. PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
  75. PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei = NULL;
  76. PFNGLBLENDFUNCIPROC glad_glBlendFunci = NULL;
  77. PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL;
  78. PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer = NULL;
  79. PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
  80. PFNGLBUFFERSTORAGEPROC glad_glBufferStorage = NULL;
  81. PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
  82. PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
  83. PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus = NULL;
  84. PFNGLCLAMPCOLORPROC glad_glClampColor = NULL;
  85. PFNGLCLEARPROC glad_glClear = NULL;
  86. PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData = NULL;
  87. PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData = NULL;
  88. PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL;
  89. PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL;
  90. PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL;
  91. PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL;
  92. PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
  93. PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL;
  94. PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL;
  95. PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData = NULL;
  96. PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData = NULL;
  97. PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi = NULL;
  98. PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv = NULL;
  99. PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv = NULL;
  100. PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv = NULL;
  101. PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
  102. PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage = NULL;
  103. PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage = NULL;
  104. PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL;
  105. PFNGLCLIPCONTROLPROC glad_glClipControl = NULL;
  106. PFNGLCOLORMASKPROC glad_glColorMask = NULL;
  107. PFNGLCOLORMASKIPROC glad_glColorMaski = NULL;
  108. PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
  109. PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL;
  110. PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL;
  111. PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL;
  112. PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL;
  113. PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
  114. PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL;
  115. PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D = NULL;
  116. PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D = NULL;
  117. PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D = NULL;
  118. PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL;
  119. PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData = NULL;
  120. PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData = NULL;
  121. PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL;
  122. PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
  123. PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL;
  124. PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL;
  125. PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL;
  126. PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D = NULL;
  127. PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D = NULL;
  128. PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D = NULL;
  129. PFNGLCREATEBUFFERSPROC glad_glCreateBuffers = NULL;
  130. PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers = NULL;
  131. PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
  132. PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines = NULL;
  133. PFNGLCREATEQUERIESPROC glad_glCreateQueries = NULL;
  134. PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers = NULL;
  135. PFNGLCREATESAMPLERSPROC glad_glCreateSamplers = NULL;
  136. PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
  137. PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv = NULL;
  138. PFNGLCREATETEXTURESPROC glad_glCreateTextures = NULL;
  139. PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks = NULL;
  140. PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays = NULL;
  141. PFNGLCULLFACEPROC glad_glCullFace = NULL;
  142. PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL;
  143. PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL;
  144. PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL;
  145. PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
  146. PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
  147. PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
  148. PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines = NULL;
  149. PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL;
  150. PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
  151. PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL;
  152. PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
  153. PFNGLDELETESYNCPROC glad_glDeleteSync = NULL;
  154. PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
  155. PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL;
  156. PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL;
  157. PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
  158. PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
  159. PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
  160. PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL;
  161. PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL;
  162. PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
  163. PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
  164. PFNGLDISABLEPROC glad_glDisable = NULL;
  165. PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib = NULL;
  166. PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
  167. PFNGLDISABLEIPROC glad_glDisablei = NULL;
  168. PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL;
  169. PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL;
  170. PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
  171. PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect = NULL;
  172. PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL;
  173. PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance = NULL;
  174. PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL;
  175. PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL;
  176. PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
  177. PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL;
  178. PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect = NULL;
  179. PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL;
  180. PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance = NULL;
  181. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL;
  182. PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance = NULL;
  183. PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL;
  184. PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL;
  185. PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback = NULL;
  186. PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced = NULL;
  187. PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream = NULL;
  188. PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced = NULL;
  189. PFNGLENABLEPROC glad_glEnable = NULL;
  190. PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib = NULL;
  191. PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
  192. PFNGLENABLEIPROC glad_glEnablei = NULL;
  193. PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL;
  194. PFNGLENDQUERYPROC glad_glEndQuery = NULL;
  195. PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed = NULL;
  196. PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL;
  197. PFNGLFENCESYNCPROC glad_glFenceSync = NULL;
  198. PFNGLFINISHPROC glad_glFinish = NULL;
  199. PFNGLFLUSHPROC glad_glFlush = NULL;
  200. PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL;
  201. PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange = NULL;
  202. PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri = NULL;
  203. PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
  204. PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL;
  205. PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL;
  206. PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
  207. PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL;
  208. PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL;
  209. PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
  210. PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
  211. PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
  212. PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines = NULL;
  213. PFNGLGENQUERIESPROC glad_glGenQueries = NULL;
  214. PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
  215. PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL;
  216. PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
  217. PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL;
  218. PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL;
  219. PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
  220. PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap = NULL;
  221. PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv = NULL;
  222. PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
  223. PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName = NULL;
  224. PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName = NULL;
  225. PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv = NULL;
  226. PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
  227. PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL;
  228. PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL;
  229. PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL;
  230. PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL;
  231. PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
  232. PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
  233. PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL;
  234. PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
  235. PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL;
  236. PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
  237. PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL;
  238. PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL;
  239. PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL;
  240. PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage = NULL;
  241. PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage = NULL;
  242. PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL;
  243. PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL;
  244. PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL;
  245. PFNGLGETERRORPROC glad_glGetError = NULL;
  246. PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL;
  247. PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
  248. PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL;
  249. PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL;
  250. PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
  251. PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv = NULL;
  252. PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus = NULL;
  253. PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL;
  254. PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL;
  255. PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL;
  256. PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
  257. PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v = NULL;
  258. PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL;
  259. PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL;
  260. PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v = NULL;
  261. PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv = NULL;
  262. PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv = NULL;
  263. PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData = NULL;
  264. PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv = NULL;
  265. PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv = NULL;
  266. PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv = NULL;
  267. PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL;
  268. PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL;
  269. PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL;
  270. PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL;
  271. PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
  272. PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL;
  273. PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog = NULL;
  274. PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv = NULL;
  275. PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL;
  276. PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL;
  277. PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL;
  278. PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL;
  279. PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL;
  280. PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv = NULL;
  281. PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
  282. PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v = NULL;
  283. PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv = NULL;
  284. PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v = NULL;
  285. PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv = NULL;
  286. PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv = NULL;
  287. PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL;
  288. PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL;
  289. PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL;
  290. PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL;
  291. PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL;
  292. PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
  293. PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL;
  294. PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL;
  295. PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL;
  296. PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL;
  297. PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
  298. PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL;
  299. PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
  300. PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
  301. PFNGLGETSTRINGPROC glad_glGetString = NULL;
  302. PFNGLGETSTRINGIPROC glad_glGetStringi = NULL;
  303. PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex = NULL;
  304. PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation = NULL;
  305. PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL;
  306. PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL;
  307. PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL;
  308. PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL;
  309. PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL;
  310. PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL;
  311. PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
  312. PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
  313. PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage = NULL;
  314. PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv = NULL;
  315. PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv = NULL;
  316. PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv = NULL;
  317. PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv = NULL;
  318. PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv = NULL;
  319. PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv = NULL;
  320. PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage = NULL;
  321. PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL;
  322. PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v = NULL;
  323. PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v = NULL;
  324. PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv = NULL;
  325. PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL;
  326. PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL;
  327. PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
  328. PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv = NULL;
  329. PFNGLGETUNIFORMDVPROC glad_glGetUniformdv = NULL;
  330. PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
  331. PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
  332. PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL;
  333. PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv = NULL;
  334. PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv = NULL;
  335. PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv = NULL;
  336. PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL;
  337. PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL;
  338. PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv = NULL;
  339. PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
  340. PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL;
  341. PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
  342. PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL;
  343. PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage = NULL;
  344. PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage = NULL;
  345. PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv = NULL;
  346. PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv = NULL;
  347. PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv = NULL;
  348. PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv = NULL;
  349. PFNGLHINTPROC glad_glHint = NULL;
  350. PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData = NULL;
  351. PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData = NULL;
  352. PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL;
  353. PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData = NULL;
  354. PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData = NULL;
  355. PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL;
  356. PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage = NULL;
  357. PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage = NULL;
  358. PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
  359. PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
  360. PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL;
  361. PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
  362. PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
  363. PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline = NULL;
  364. PFNGLISQUERYPROC glad_glIsQuery = NULL;
  365. PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
  366. PFNGLISSAMPLERPROC glad_glIsSampler = NULL;
  367. PFNGLISSHADERPROC glad_glIsShader = NULL;
  368. PFNGLISSYNCPROC glad_glIsSync = NULL;
  369. PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
  370. PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL;
  371. PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL;
  372. PFNGLLINEWIDTHPROC glad_glLineWidth = NULL;
  373. PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL;
  374. PFNGLLOGICOPPROC glad_glLogicOp = NULL;
  375. PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL;
  376. PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL;
  377. PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer = NULL;
  378. PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange = NULL;
  379. PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier = NULL;
  380. PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion = NULL;
  381. PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading = NULL;
  382. PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL;
  383. PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect = NULL;
  384. PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount = NULL;
  385. PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL;
  386. PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL;
  387. PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect = NULL;
  388. PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount = NULL;
  389. PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData = NULL;
  390. PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage = NULL;
  391. PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData = NULL;
  392. PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer = NULL;
  393. PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers = NULL;
  394. PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri = NULL;
  395. PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer = NULL;
  396. PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer = NULL;
  397. PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture = NULL;
  398. PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer = NULL;
  399. PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage = NULL;
  400. PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample = NULL;
  401. PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL;
  402. PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL;
  403. PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv = NULL;
  404. PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri = NULL;
  405. PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL;
  406. PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL;
  407. PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL;
  408. PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL;
  409. PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL;
  410. PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL;
  411. PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL;
  412. PFNGLPOINTSIZEPROC glad_glPointSize = NULL;
  413. PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL;
  414. PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL;
  415. PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp = NULL;
  416. PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL;
  417. PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL;
  418. PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL;
  419. PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL;
  420. PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d = NULL;
  421. PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv = NULL;
  422. PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f = NULL;
  423. PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv = NULL;
  424. PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i = NULL;
  425. PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv = NULL;
  426. PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui = NULL;
  427. PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv = NULL;
  428. PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d = NULL;
  429. PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv = NULL;
  430. PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f = NULL;
  431. PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv = NULL;
  432. PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i = NULL;
  433. PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv = NULL;
  434. PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui = NULL;
  435. PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv = NULL;
  436. PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d = NULL;
  437. PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv = NULL;
  438. PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f = NULL;
  439. PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv = NULL;
  440. PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i = NULL;
  441. PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv = NULL;
  442. PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui = NULL;
  443. PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv = NULL;
  444. PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d = NULL;
  445. PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv = NULL;
  446. PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f = NULL;
  447. PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv = NULL;
  448. PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i = NULL;
  449. PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv = NULL;
  450. PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui = NULL;
  451. PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv = NULL;
  452. PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv = NULL;
  453. PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv = NULL;
  454. PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv = NULL;
  455. PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv = NULL;
  456. PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv = NULL;
  457. PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv = NULL;
  458. PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv = NULL;
  459. PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv = NULL;
  460. PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv = NULL;
  461. PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv = NULL;
  462. PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv = NULL;
  463. PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv = NULL;
  464. PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv = NULL;
  465. PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv = NULL;
  466. PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv = NULL;
  467. PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv = NULL;
  468. PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv = NULL;
  469. PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv = NULL;
  470. PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL;
  471. PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL;
  472. PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL;
  473. PFNGLREADBUFFERPROC glad_glReadBuffer = NULL;
  474. PFNGLREADPIXELSPROC glad_glReadPixels = NULL;
  475. PFNGLREADNPIXELSPROC glad_glReadnPixels = NULL;
  476. PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL;
  477. PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
  478. PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL;
  479. PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL;
  480. PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
  481. PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL;
  482. PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL;
  483. PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL;
  484. PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL;
  485. PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL;
  486. PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL;
  487. PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL;
  488. PFNGLSCISSORPROC glad_glScissor = NULL;
  489. PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL;
  490. PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL;
  491. PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL;
  492. PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL;
  493. PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
  494. PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL;
  495. PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader = NULL;
  496. PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
  497. PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
  498. PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
  499. PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
  500. PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
  501. PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
  502. PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL;
  503. PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange = NULL;
  504. PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL;
  505. PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
  506. PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL;
  507. PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL;
  508. PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL;
  509. PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL;
  510. PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL;
  511. PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
  512. PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
  513. PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
  514. PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
  515. PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL;
  516. PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL;
  517. PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample = NULL;
  518. PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL;
  519. PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample = NULL;
  520. PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL;
  521. PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
  522. PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL;
  523. PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier = NULL;
  524. PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer = NULL;
  525. PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange = NULL;
  526. PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv = NULL;
  527. PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv = NULL;
  528. PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf = NULL;
  529. PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv = NULL;
  530. PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri = NULL;
  531. PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv = NULL;
  532. PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D = NULL;
  533. PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D = NULL;
  534. PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample = NULL;
  535. PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D = NULL;
  536. PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample = NULL;
  537. PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D = NULL;
  538. PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D = NULL;
  539. PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D = NULL;
  540. PFNGLTEXTUREVIEWPROC glad_glTextureView = NULL;
  541. PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase = NULL;
  542. PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange = NULL;
  543. PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL;
  544. PFNGLUNIFORM1DPROC glad_glUniform1d = NULL;
  545. PFNGLUNIFORM1DVPROC glad_glUniform1dv = NULL;
  546. PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
  547. PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
  548. PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
  549. PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
  550. PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL;
  551. PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL;
  552. PFNGLUNIFORM2DPROC glad_glUniform2d = NULL;
  553. PFNGLUNIFORM2DVPROC glad_glUniform2dv = NULL;
  554. PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
  555. PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
  556. PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
  557. PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
  558. PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL;
  559. PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL;
  560. PFNGLUNIFORM3DPROC glad_glUniform3d = NULL;
  561. PFNGLUNIFORM3DVPROC glad_glUniform3dv = NULL;
  562. PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
  563. PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
  564. PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
  565. PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
  566. PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL;
  567. PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL;
  568. PFNGLUNIFORM4DPROC glad_glUniform4d = NULL;
  569. PFNGLUNIFORM4DVPROC glad_glUniform4dv = NULL;
  570. PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
  571. PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
  572. PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
  573. PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
  574. PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL;
  575. PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL;
  576. PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL;
  577. PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv = NULL;
  578. PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
  579. PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv = NULL;
  580. PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL;
  581. PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv = NULL;
  582. PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL;
  583. PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv = NULL;
  584. PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL;
  585. PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv = NULL;
  586. PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL;
  587. PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv = NULL;
  588. PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL;
  589. PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv = NULL;
  590. PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL;
  591. PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv = NULL;
  592. PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL;
  593. PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv = NULL;
  594. PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL;
  595. PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv = NULL;
  596. PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL;
  597. PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer = NULL;
  598. PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL;
  599. PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages = NULL;
  600. PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL;
  601. PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline = NULL;
  602. PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding = NULL;
  603. PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat = NULL;
  604. PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat = NULL;
  605. PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat = NULL;
  606. PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor = NULL;
  607. PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer = NULL;
  608. PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer = NULL;
  609. PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers = NULL;
  610. PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL;
  611. PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL;
  612. PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL;
  613. PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL;
  614. PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL;
  615. PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL;
  616. PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL;
  617. PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL;
  618. PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL;
  619. PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL;
  620. PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL;
  621. PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL;
  622. PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL;
  623. PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL;
  624. PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL;
  625. PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL;
  626. PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL;
  627. PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL;
  628. PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL;
  629. PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL;
  630. PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL;
  631. PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL;
  632. PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL;
  633. PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL;
  634. PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL;
  635. PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL;
  636. PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL;
  637. PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL;
  638. PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL;
  639. PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL;
  640. PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL;
  641. PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL;
  642. PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL;
  643. PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL;
  644. PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL;
  645. PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL;
  646. PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding = NULL;
  647. PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL;
  648. PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat = NULL;
  649. PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL;
  650. PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL;
  651. PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL;
  652. PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL;
  653. PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL;
  654. PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL;
  655. PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL;
  656. PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL;
  657. PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL;
  658. PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL;
  659. PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL;
  660. PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL;
  661. PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL;
  662. PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL;
  663. PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL;
  664. PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL;
  665. PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL;
  666. PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL;
  667. PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL;
  668. PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL;
  669. PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat = NULL;
  670. PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL;
  671. PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d = NULL;
  672. PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv = NULL;
  673. PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d = NULL;
  674. PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv = NULL;
  675. PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d = NULL;
  676. PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv = NULL;
  677. PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d = NULL;
  678. PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv = NULL;
  679. PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat = NULL;
  680. PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer = NULL;
  681. PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL;
  682. PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL;
  683. PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL;
  684. PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL;
  685. PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL;
  686. PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL;
  687. PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL;
  688. PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL;
  689. PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
  690. PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor = NULL;
  691. PFNGLVIEWPORTPROC glad_glViewport = NULL;
  692. PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL;
  693. PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL;
  694. PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL;
  695. PFNGLWAITSYNCPROC glad_glWaitSync = NULL;
  696. static void glad_gl_load_GL_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) {
  697. if(!GLAD_GL_VERSION_1_0) return;
  698. glad_glBlendFunc = (PFNGLBLENDFUNCPROC) load(userptr, "glBlendFunc");
  699. glad_glClear = (PFNGLCLEARPROC) load(userptr, "glClear");
  700. glad_glClearColor = (PFNGLCLEARCOLORPROC) load(userptr, "glClearColor");
  701. glad_glClearDepth = (PFNGLCLEARDEPTHPROC) load(userptr, "glClearDepth");
  702. glad_glClearStencil = (PFNGLCLEARSTENCILPROC) load(userptr, "glClearStencil");
  703. glad_glColorMask = (PFNGLCOLORMASKPROC) load(userptr, "glColorMask");
  704. glad_glCullFace = (PFNGLCULLFACEPROC) load(userptr, "glCullFace");
  705. glad_glDepthFunc = (PFNGLDEPTHFUNCPROC) load(userptr, "glDepthFunc");
  706. glad_glDepthMask = (PFNGLDEPTHMASKPROC) load(userptr, "glDepthMask");
  707. glad_glDepthRange = (PFNGLDEPTHRANGEPROC) load(userptr, "glDepthRange");
  708. glad_glDisable = (PFNGLDISABLEPROC) load(userptr, "glDisable");
  709. glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC) load(userptr, "glDrawBuffer");
  710. glad_glEnable = (PFNGLENABLEPROC) load(userptr, "glEnable");
  711. glad_glFinish = (PFNGLFINISHPROC) load(userptr, "glFinish");
  712. glad_glFlush = (PFNGLFLUSHPROC) load(userptr, "glFlush");
  713. glad_glFrontFace = (PFNGLFRONTFACEPROC) load(userptr, "glFrontFace");
  714. glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC) load(userptr, "glGetBooleanv");
  715. glad_glGetDoublev = (PFNGLGETDOUBLEVPROC) load(userptr, "glGetDoublev");
  716. glad_glGetError = (PFNGLGETERRORPROC) load(userptr, "glGetError");
  717. glad_glGetFloatv = (PFNGLGETFLOATVPROC) load(userptr, "glGetFloatv");
  718. glad_glGetIntegerv = (PFNGLGETINTEGERVPROC) load(userptr, "glGetIntegerv");
  719. glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
  720. glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC) load(userptr, "glGetTexImage");
  721. glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) load(userptr, "glGetTexLevelParameterfv");
  722. glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) load(userptr, "glGetTexLevelParameteriv");
  723. glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load(userptr, "glGetTexParameterfv");
  724. glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load(userptr, "glGetTexParameteriv");
  725. glad_glHint = (PFNGLHINTPROC) load(userptr, "glHint");
  726. glad_glIsEnabled = (PFNGLISENABLEDPROC) load(userptr, "glIsEnabled");
  727. glad_glLineWidth = (PFNGLLINEWIDTHPROC) load(userptr, "glLineWidth");
  728. glad_glLogicOp = (PFNGLLOGICOPPROC) load(userptr, "glLogicOp");
  729. glad_glPixelStoref = (PFNGLPIXELSTOREFPROC) load(userptr, "glPixelStoref");
  730. glad_glPixelStorei = (PFNGLPIXELSTOREIPROC) load(userptr, "glPixelStorei");
  731. glad_glPointSize = (PFNGLPOINTSIZEPROC) load(userptr, "glPointSize");
  732. glad_glPolygonMode = (PFNGLPOLYGONMODEPROC) load(userptr, "glPolygonMode");
  733. glad_glReadBuffer = (PFNGLREADBUFFERPROC) load(userptr, "glReadBuffer");
  734. glad_glReadPixels = (PFNGLREADPIXELSPROC) load(userptr, "glReadPixels");
  735. glad_glScissor = (PFNGLSCISSORPROC) load(userptr, "glScissor");
  736. glad_glStencilFunc = (PFNGLSTENCILFUNCPROC) load(userptr, "glStencilFunc");
  737. glad_glStencilMask = (PFNGLSTENCILMASKPROC) load(userptr, "glStencilMask");
  738. glad_glStencilOp = (PFNGLSTENCILOPPROC) load(userptr, "glStencilOp");
  739. glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC) load(userptr, "glTexImage1D");
  740. glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC) load(userptr, "glTexImage2D");
  741. glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC) load(userptr, "glTexParameterf");
  742. glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load(userptr, "glTexParameterfv");
  743. glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC) load(userptr, "glTexParameteri");
  744. glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load(userptr, "glTexParameteriv");
  745. glad_glViewport = (PFNGLVIEWPORTPROC) load(userptr, "glViewport");
  746. }
  747. static void glad_gl_load_GL_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) {
  748. if(!GLAD_GL_VERSION_1_1) return;
  749. glad_glBindTexture = (PFNGLBINDTEXTUREPROC) load(userptr, "glBindTexture");
  750. glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) load(userptr, "glCopyTexImage1D");
  751. glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load(userptr, "glCopyTexImage2D");
  752. glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) load(userptr, "glCopyTexSubImage1D");
  753. glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load(userptr, "glCopyTexSubImage2D");
  754. glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC) load(userptr, "glDeleteTextures");
  755. glad_glDrawArrays = (PFNGLDRAWARRAYSPROC) load(userptr, "glDrawArrays");
  756. glad_glDrawElements = (PFNGLDRAWELEMENTSPROC) load(userptr, "glDrawElements");
  757. glad_glGenTextures = (PFNGLGENTEXTURESPROC) load(userptr, "glGenTextures");
  758. glad_glGetPointerv = (PFNGLGETPOINTERVPROC) load(userptr, "glGetPointerv");
  759. glad_glIsTexture = (PFNGLISTEXTUREPROC) load(userptr, "glIsTexture");
  760. glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load(userptr, "glPolygonOffset");
  761. glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) load(userptr, "glTexSubImage1D");
  762. glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load(userptr, "glTexSubImage2D");
  763. }
  764. static void glad_gl_load_GL_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) {
  765. if(!GLAD_GL_VERSION_1_2) return;
  766. glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) load(userptr, "glCopyTexSubImage3D");
  767. glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) load(userptr, "glDrawRangeElements");
  768. glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC) load(userptr, "glTexImage3D");
  769. glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) load(userptr, "glTexSubImage3D");
  770. }
  771. static void glad_gl_load_GL_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) {
  772. if(!GLAD_GL_VERSION_1_3) return;
  773. glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC) load(userptr, "glActiveTexture");
  774. glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) load(userptr, "glCompressedTexImage1D");
  775. glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load(userptr, "glCompressedTexImage2D");
  776. glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) load(userptr, "glCompressedTexImage3D");
  777. glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) load(userptr, "glCompressedTexSubImage1D");
  778. glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load(userptr, "glCompressedTexSubImage2D");
  779. glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) load(userptr, "glCompressedTexSubImage3D");
  780. glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) load(userptr, "glGetCompressedTexImage");
  781. glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load(userptr, "glSampleCoverage");
  782. }
  783. static void glad_gl_load_GL_VERSION_1_4( GLADuserptrloadfunc load, void* userptr) {
  784. if(!GLAD_GL_VERSION_1_4) return;
  785. glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor");
  786. glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation");
  787. glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load(userptr, "glBlendFuncSeparate");
  788. glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) load(userptr, "glMultiDrawArrays");
  789. glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) load(userptr, "glMultiDrawElements");
  790. glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC) load(userptr, "glPointParameterf");
  791. glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) load(userptr, "glPointParameterfv");
  792. glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC) load(userptr, "glPointParameteri");
  793. glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) load(userptr, "glPointParameteriv");
  794. }
  795. static void glad_gl_load_GL_VERSION_1_5( GLADuserptrloadfunc load, void* userptr) {
  796. if(!GLAD_GL_VERSION_1_5) return;
  797. glad_glBeginQuery = (PFNGLBEGINQUERYPROC) load(userptr, "glBeginQuery");
  798. glad_glBindBuffer = (PFNGLBINDBUFFERPROC) load(userptr, "glBindBuffer");
  799. glad_glBufferData = (PFNGLBUFFERDATAPROC) load(userptr, "glBufferData");
  800. glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load(userptr, "glBufferSubData");
  801. glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load(userptr, "glDeleteBuffers");
  802. glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC) load(userptr, "glDeleteQueries");
  803. glad_glEndQuery = (PFNGLENDQUERYPROC) load(userptr, "glEndQuery");
  804. glad_glGenBuffers = (PFNGLGENBUFFERSPROC) load(userptr, "glGenBuffers");
  805. glad_glGenQueries = (PFNGLGENQUERIESPROC) load(userptr, "glGenQueries");
  806. glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load(userptr, "glGetBufferParameteriv");
  807. glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) load(userptr, "glGetBufferPointerv");
  808. glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) load(userptr, "glGetBufferSubData");
  809. glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) load(userptr, "glGetQueryObjectiv");
  810. glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) load(userptr, "glGetQueryObjectuiv");
  811. glad_glGetQueryiv = (PFNGLGETQUERYIVPROC) load(userptr, "glGetQueryiv");
  812. glad_glIsBuffer = (PFNGLISBUFFERPROC) load(userptr, "glIsBuffer");
  813. glad_glIsQuery = (PFNGLISQUERYPROC) load(userptr, "glIsQuery");
  814. glad_glMapBuffer = (PFNGLMAPBUFFERPROC) load(userptr, "glMapBuffer");
  815. glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC) load(userptr, "glUnmapBuffer");
  816. }
  817. static void glad_gl_load_GL_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) {
  818. if(!GLAD_GL_VERSION_2_0) return;
  819. glad_glAttachShader = (PFNGLATTACHSHADERPROC) load(userptr, "glAttachShader");
  820. glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load(userptr, "glBindAttribLocation");
  821. glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load(userptr, "glBlendEquationSeparate");
  822. glad_glCompileShader = (PFNGLCOMPILESHADERPROC) load(userptr, "glCompileShader");
  823. glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC) load(userptr, "glCreateProgram");
  824. glad_glCreateShader = (PFNGLCREATESHADERPROC) load(userptr, "glCreateShader");
  825. glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load(userptr, "glDeleteProgram");
  826. glad_glDeleteShader = (PFNGLDELETESHADERPROC) load(userptr, "glDeleteShader");
  827. glad_glDetachShader = (PFNGLDETACHSHADERPROC) load(userptr, "glDetachShader");
  828. glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load(userptr, "glDisableVertexAttribArray");
  829. glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC) load(userptr, "glDrawBuffers");
  830. glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load(userptr, "glEnableVertexAttribArray");
  831. glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load(userptr, "glGetActiveAttrib");
  832. glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load(userptr, "glGetActiveUniform");
  833. glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load(userptr, "glGetAttachedShaders");
  834. glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load(userptr, "glGetAttribLocation");
  835. glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load(userptr, "glGetProgramInfoLog");
  836. glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load(userptr, "glGetProgramiv");
  837. glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load(userptr, "glGetShaderInfoLog");
  838. glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load(userptr, "glGetShaderSource");
  839. glad_glGetShaderiv = (PFNGLGETSHADERIVPROC) load(userptr, "glGetShaderiv");
  840. glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load(userptr, "glGetUniformLocation");
  841. glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load(userptr, "glGetUniformfv");
  842. glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load(userptr, "glGetUniformiv");
  843. glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load(userptr, "glGetVertexAttribPointerv");
  844. glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) load(userptr, "glGetVertexAttribdv");
  845. glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load(userptr, "glGetVertexAttribfv");
  846. glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load(userptr, "glGetVertexAttribiv");
  847. glad_glIsProgram = (PFNGLISPROGRAMPROC) load(userptr, "glIsProgram");
  848. glad_glIsShader = (PFNGLISSHADERPROC) load(userptr, "glIsShader");
  849. glad_glLinkProgram = (PFNGLLINKPROGRAMPROC) load(userptr, "glLinkProgram");
  850. glad_glShaderSource = (PFNGLSHADERSOURCEPROC) load(userptr, "glShaderSource");
  851. glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load(userptr, "glStencilFuncSeparate");
  852. glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load(userptr, "glStencilMaskSeparate");
  853. glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load(userptr, "glStencilOpSeparate");
  854. glad_glUniform1f = (PFNGLUNIFORM1FPROC) load(userptr, "glUniform1f");
  855. glad_glUniform1fv = (PFNGLUNIFORM1FVPROC) load(userptr, "glUniform1fv");
  856. glad_glUniform1i = (PFNGLUNIFORM1IPROC) load(userptr, "glUniform1i");
  857. glad_glUniform1iv = (PFNGLUNIFORM1IVPROC) load(userptr, "glUniform1iv");
  858. glad_glUniform2f = (PFNGLUNIFORM2FPROC) load(userptr, "glUniform2f");
  859. glad_glUniform2fv = (PFNGLUNIFORM2FVPROC) load(userptr, "glUniform2fv");
  860. glad_glUniform2i = (PFNGLUNIFORM2IPROC) load(userptr, "glUniform2i");
  861. glad_glUniform2iv = (PFNGLUNIFORM2IVPROC) load(userptr, "glUniform2iv");
  862. glad_glUniform3f = (PFNGLUNIFORM3FPROC) load(userptr, "glUniform3f");
  863. glad_glUniform3fv = (PFNGLUNIFORM3FVPROC) load(userptr, "glUniform3fv");
  864. glad_glUniform3i = (PFNGLUNIFORM3IPROC) load(userptr, "glUniform3i");
  865. glad_glUniform3iv = (PFNGLUNIFORM3IVPROC) load(userptr, "glUniform3iv");
  866. glad_glUniform4f = (PFNGLUNIFORM4FPROC) load(userptr, "glUniform4f");
  867. glad_glUniform4fv = (PFNGLUNIFORM4FVPROC) load(userptr, "glUniform4fv");
  868. glad_glUniform4i = (PFNGLUNIFORM4IPROC) load(userptr, "glUniform4i");
  869. glad_glUniform4iv = (PFNGLUNIFORM4IVPROC) load(userptr, "glUniform4iv");
  870. glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load(userptr, "glUniformMatrix2fv");
  871. glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load(userptr, "glUniformMatrix3fv");
  872. glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load(userptr, "glUniformMatrix4fv");
  873. glad_glUseProgram = (PFNGLUSEPROGRAMPROC) load(userptr, "glUseProgram");
  874. glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load(userptr, "glValidateProgram");
  875. glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) load(userptr, "glVertexAttrib1d");
  876. glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) load(userptr, "glVertexAttrib1dv");
  877. glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load(userptr, "glVertexAttrib1f");
  878. glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load(userptr, "glVertexAttrib1fv");
  879. glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) load(userptr, "glVertexAttrib1s");
  880. glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) load(userptr, "glVertexAttrib1sv");
  881. glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) load(userptr, "glVertexAttrib2d");
  882. glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) load(userptr, "glVertexAttrib2dv");
  883. glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load(userptr, "glVertexAttrib2f");
  884. glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load(userptr, "glVertexAttrib2fv");
  885. glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) load(userptr, "glVertexAttrib2s");
  886. glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) load(userptr, "glVertexAttrib2sv");
  887. glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) load(userptr, "glVertexAttrib3d");
  888. glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) load(userptr, "glVertexAttrib3dv");
  889. glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load(userptr, "glVertexAttrib3f");
  890. glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load(userptr, "glVertexAttrib3fv");
  891. glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) load(userptr, "glVertexAttrib3s");
  892. glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) load(userptr, "glVertexAttrib3sv");
  893. glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) load(userptr, "glVertexAttrib4Nbv");
  894. glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) load(userptr, "glVertexAttrib4Niv");
  895. glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) load(userptr, "glVertexAttrib4Nsv");
  896. glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) load(userptr, "glVertexAttrib4Nub");
  897. glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) load(userptr, "glVertexAttrib4Nubv");
  898. glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) load(userptr, "glVertexAttrib4Nuiv");
  899. glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) load(userptr, "glVertexAttrib4Nusv");
  900. glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) load(userptr, "glVertexAttrib4bv");
  901. glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) load(userptr, "glVertexAttrib4d");
  902. glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) load(userptr, "glVertexAttrib4dv");
  903. glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load(userptr, "glVertexAttrib4f");
  904. glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load(userptr, "glVertexAttrib4fv");
  905. glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) load(userptr, "glVertexAttrib4iv");
  906. glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) load(userptr, "glVertexAttrib4s");
  907. glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) load(userptr, "glVertexAttrib4sv");
  908. glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) load(userptr, "glVertexAttrib4ubv");
  909. glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) load(userptr, "glVertexAttrib4uiv");
  910. glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) load(userptr, "glVertexAttrib4usv");
  911. glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load(userptr, "glVertexAttribPointer");
  912. }
  913. static void glad_gl_load_GL_VERSION_2_1( GLADuserptrloadfunc load, void* userptr) {
  914. if(!GLAD_GL_VERSION_2_1) return;
  915. glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) load(userptr, "glUniformMatrix2x3fv");
  916. glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) load(userptr, "glUniformMatrix2x4fv");
  917. glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) load(userptr, "glUniformMatrix3x2fv");
  918. glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) load(userptr, "glUniformMatrix3x4fv");
  919. glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) load(userptr, "glUniformMatrix4x2fv");
  920. glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) load(userptr, "glUniformMatrix4x3fv");
  921. }
  922. static void glad_gl_load_GL_VERSION_3_0( GLADuserptrloadfunc load, void* userptr) {
  923. if(!GLAD_GL_VERSION_3_0) return;
  924. glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) load(userptr, "glBeginConditionalRender");
  925. glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) load(userptr, "glBeginTransformFeedback");
  926. glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load(userptr, "glBindBufferBase");
  927. glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load(userptr, "glBindBufferRange");
  928. glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) load(userptr, "glBindFragDataLocation");
  929. glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer");
  930. glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer");
  931. glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) load(userptr, "glBindVertexArray");
  932. glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) load(userptr, "glBlitFramebuffer");
  933. glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus");
  934. glad_glClampColor = (PFNGLCLAMPCOLORPROC) load(userptr, "glClampColor");
  935. glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC) load(userptr, "glClearBufferfi");
  936. glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC) load(userptr, "glClearBufferfv");
  937. glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC) load(userptr, "glClearBufferiv");
  938. glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) load(userptr, "glClearBufferuiv");
  939. glad_glColorMaski = (PFNGLCOLORMASKIPROC) load(userptr, "glColorMaski");
  940. glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers");
  941. glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers");
  942. glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) load(userptr, "glDeleteVertexArrays");
  943. glad_glDisablei = (PFNGLDISABLEIPROC) load(userptr, "glDisablei");
  944. glad_glEnablei = (PFNGLENABLEIPROC) load(userptr, "glEnablei");
  945. glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) load(userptr, "glEndConditionalRender");
  946. glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) load(userptr, "glEndTransformFeedback");
  947. glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) load(userptr, "glFlushMappedBufferRange");
  948. glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer");
  949. glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) load(userptr, "glFramebufferTexture1D");
  950. glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D");
  951. glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) load(userptr, "glFramebufferTexture3D");
  952. glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glFramebufferTextureLayer");
  953. glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers");
  954. glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers");
  955. glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) load(userptr, "glGenVertexArrays");
  956. glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap");
  957. glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) load(userptr, "glGetBooleani_v");
  958. glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) load(userptr, "glGetFragDataLocation");
  959. glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv");
  960. glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load(userptr, "glGetIntegeri_v");
  961. glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv");
  962. glad_glGetStringi = (PFNGLGETSTRINGIPROC) load(userptr, "glGetStringi");
  963. glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) load(userptr, "glGetTexParameterIiv");
  964. glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) load(userptr, "glGetTexParameterIuiv");
  965. glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) load(userptr, "glGetTransformFeedbackVarying");
  966. glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) load(userptr, "glGetUniformuiv");
  967. glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) load(userptr, "glGetVertexAttribIiv");
  968. glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) load(userptr, "glGetVertexAttribIuiv");
  969. glad_glIsEnabledi = (PFNGLISENABLEDIPROC) load(userptr, "glIsEnabledi");
  970. glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer");
  971. glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer");
  972. glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC) load(userptr, "glIsVertexArray");
  973. glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) load(userptr, "glMapBufferRange");
  974. glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage");
  975. glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glRenderbufferStorageMultisample");
  976. glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) load(userptr, "glTexParameterIiv");
  977. glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) load(userptr, "glTexParameterIuiv");
  978. glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) load(userptr, "glTransformFeedbackVaryings");
  979. glad_glUniform1ui = (PFNGLUNIFORM1UIPROC) load(userptr, "glUniform1ui");
  980. glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC) load(userptr, "glUniform1uiv");
  981. glad_glUniform2ui = (PFNGLUNIFORM2UIPROC) load(userptr, "glUniform2ui");
  982. glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC) load(userptr, "glUniform2uiv");
  983. glad_glUniform3ui = (PFNGLUNIFORM3UIPROC) load(userptr, "glUniform3ui");
  984. glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC) load(userptr, "glUniform3uiv");
  985. glad_glUniform4ui = (PFNGLUNIFORM4UIPROC) load(userptr, "glUniform4ui");
  986. glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC) load(userptr, "glUniform4uiv");
  987. glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) load(userptr, "glVertexAttribI1i");
  988. glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) load(userptr, "glVertexAttribI1iv");
  989. glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) load(userptr, "glVertexAttribI1ui");
  990. glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) load(userptr, "glVertexAttribI1uiv");
  991. glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) load(userptr, "glVertexAttribI2i");
  992. glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) load(userptr, "glVertexAttribI2iv");
  993. glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) load(userptr, "glVertexAttribI2ui");
  994. glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) load(userptr, "glVertexAttribI2uiv");
  995. glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) load(userptr, "glVertexAttribI3i");
  996. glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) load(userptr, "glVertexAttribI3iv");
  997. glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) load(userptr, "glVertexAttribI3ui");
  998. glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) load(userptr, "glVertexAttribI3uiv");
  999. glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) load(userptr, "glVertexAttribI4bv");
  1000. glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) load(userptr, "glVertexAttribI4i");
  1001. glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) load(userptr, "glVertexAttribI4iv");
  1002. glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) load(userptr, "glVertexAttribI4sv");
  1003. glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) load(userptr, "glVertexAttribI4ubv");
  1004. glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) load(userptr, "glVertexAttribI4ui");
  1005. glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) load(userptr, "glVertexAttribI4uiv");
  1006. glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) load(userptr, "glVertexAttribI4usv");
  1007. glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) load(userptr, "glVertexAttribIPointer");
  1008. }
  1009. static void glad_gl_load_GL_VERSION_3_1( GLADuserptrloadfunc load, void* userptr) {
  1010. if(!GLAD_GL_VERSION_3_1) return;
  1011. glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC) load(userptr, "glBindBufferBase");
  1012. glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) load(userptr, "glBindBufferRange");
  1013. glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) load(userptr, "glCopyBufferSubData");
  1014. glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) load(userptr, "glDrawArraysInstanced");
  1015. glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) load(userptr, "glDrawElementsInstanced");
  1016. glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) load(userptr, "glGetActiveUniformBlockName");
  1017. glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) load(userptr, "glGetActiveUniformBlockiv");
  1018. glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) load(userptr, "glGetActiveUniformName");
  1019. glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) load(userptr, "glGetActiveUniformsiv");
  1020. glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) load(userptr, "glGetIntegeri_v");
  1021. glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) load(userptr, "glGetUniformBlockIndex");
  1022. glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) load(userptr, "glGetUniformIndices");
  1023. glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) load(userptr, "glPrimitiveRestartIndex");
  1024. glad_glTexBuffer = (PFNGLTEXBUFFERPROC) load(userptr, "glTexBuffer");
  1025. glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) load(userptr, "glUniformBlockBinding");
  1026. }
  1027. static void glad_gl_load_GL_VERSION_3_2( GLADuserptrloadfunc load, void* userptr) {
  1028. if(!GLAD_GL_VERSION_3_2) return;
  1029. glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) load(userptr, "glClientWaitSync");
  1030. glad_glDeleteSync = (PFNGLDELETESYNCPROC) load(userptr, "glDeleteSync");
  1031. glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glDrawElementsBaseVertex");
  1032. glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) load(userptr, "glDrawElementsInstancedBaseVertex");
  1033. glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) load(userptr, "glDrawRangeElementsBaseVertex");
  1034. glad_glFenceSync = (PFNGLFENCESYNCPROC) load(userptr, "glFenceSync");
  1035. glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) load(userptr, "glFramebufferTexture");
  1036. glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) load(userptr, "glGetBufferParameteri64v");
  1037. glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) load(userptr, "glGetInteger64i_v");
  1038. glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC) load(userptr, "glGetInteger64v");
  1039. glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) load(userptr, "glGetMultisamplefv");
  1040. glad_glGetSynciv = (PFNGLGETSYNCIVPROC) load(userptr, "glGetSynciv");
  1041. glad_glIsSync = (PFNGLISSYNCPROC) load(userptr, "glIsSync");
  1042. glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) load(userptr, "glMultiDrawElementsBaseVertex");
  1043. glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) load(userptr, "glProvokingVertex");
  1044. glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC) load(userptr, "glSampleMaski");
  1045. glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) load(userptr, "glTexImage2DMultisample");
  1046. glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) load(userptr, "glTexImage3DMultisample");
  1047. glad_glWaitSync = (PFNGLWAITSYNCPROC) load(userptr, "glWaitSync");
  1048. }
  1049. static void glad_gl_load_GL_VERSION_3_3( GLADuserptrloadfunc load, void* userptr) {
  1050. if(!GLAD_GL_VERSION_3_3) return;
  1051. glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) load(userptr, "glBindFragDataLocationIndexed");
  1052. glad_glBindSampler = (PFNGLBINDSAMPLERPROC) load(userptr, "glBindSampler");
  1053. glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC) load(userptr, "glDeleteSamplers");
  1054. glad_glGenSamplers = (PFNGLGENSAMPLERSPROC) load(userptr, "glGenSamplers");
  1055. glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) load(userptr, "glGetFragDataIndex");
  1056. glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) load(userptr, "glGetQueryObjecti64v");
  1057. glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) load(userptr, "glGetQueryObjectui64v");
  1058. glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) load(userptr, "glGetSamplerParameterIiv");
  1059. glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) load(userptr, "glGetSamplerParameterIuiv");
  1060. glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) load(userptr, "glGetSamplerParameterfv");
  1061. glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) load(userptr, "glGetSamplerParameteriv");
  1062. glad_glIsSampler = (PFNGLISSAMPLERPROC) load(userptr, "glIsSampler");
  1063. glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC) load(userptr, "glQueryCounter");
  1064. glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) load(userptr, "glSamplerParameterIiv");
  1065. glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) load(userptr, "glSamplerParameterIuiv");
  1066. glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) load(userptr, "glSamplerParameterf");
  1067. glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) load(userptr, "glSamplerParameterfv");
  1068. glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) load(userptr, "glSamplerParameteri");
  1069. glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) load(userptr, "glSamplerParameteriv");
  1070. glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) load(userptr, "glVertexAttribDivisor");
  1071. glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) load(userptr, "glVertexAttribP1ui");
  1072. glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) load(userptr, "glVertexAttribP1uiv");
  1073. glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) load(userptr, "glVertexAttribP2ui");
  1074. glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) load(userptr, "glVertexAttribP2uiv");
  1075. glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) load(userptr, "glVertexAttribP3ui");
  1076. glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) load(userptr, "glVertexAttribP3uiv");
  1077. glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) load(userptr, "glVertexAttribP4ui");
  1078. glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) load(userptr, "glVertexAttribP4uiv");
  1079. }
  1080. static void glad_gl_load_GL_VERSION_4_0( GLADuserptrloadfunc load, void* userptr) {
  1081. if(!GLAD_GL_VERSION_4_0) return;
  1082. glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) load(userptr, "glBeginQueryIndexed");
  1083. glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) load(userptr, "glBindTransformFeedback");
  1084. glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) load(userptr, "glBlendEquationSeparatei");
  1085. glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC) load(userptr, "glBlendEquationi");
  1086. glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) load(userptr, "glBlendFuncSeparatei");
  1087. glad_glBlendFunci = (PFNGLBLENDFUNCIPROC) load(userptr, "glBlendFunci");
  1088. glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) load(userptr, "glDeleteTransformFeedbacks");
  1089. glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) load(userptr, "glDrawArraysIndirect");
  1090. glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) load(userptr, "glDrawElementsIndirect");
  1091. glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) load(userptr, "glDrawTransformFeedback");
  1092. glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) load(userptr, "glDrawTransformFeedbackStream");
  1093. glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) load(userptr, "glEndQueryIndexed");
  1094. glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) load(userptr, "glGenTransformFeedbacks");
  1095. glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) load(userptr, "glGetActiveSubroutineName");
  1096. glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) load(userptr, "glGetActiveSubroutineUniformName");
  1097. glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) load(userptr, "glGetActiveSubroutineUniformiv");
  1098. glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) load(userptr, "glGetProgramStageiv");
  1099. glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) load(userptr, "glGetQueryIndexediv");
  1100. glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) load(userptr, "glGetSubroutineIndex");
  1101. glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) load(userptr, "glGetSubroutineUniformLocation");
  1102. glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) load(userptr, "glGetUniformSubroutineuiv");
  1103. glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC) load(userptr, "glGetUniformdv");
  1104. glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) load(userptr, "glIsTransformFeedback");
  1105. glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) load(userptr, "glMinSampleShading");
  1106. glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) load(userptr, "glPatchParameterfv");
  1107. glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC) load(userptr, "glPatchParameteri");
  1108. glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) load(userptr, "glPauseTransformFeedback");
  1109. glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) load(userptr, "glResumeTransformFeedback");
  1110. glad_glUniform1d = (PFNGLUNIFORM1DPROC) load(userptr, "glUniform1d");
  1111. glad_glUniform1dv = (PFNGLUNIFORM1DVPROC) load(userptr, "glUniform1dv");
  1112. glad_glUniform2d = (PFNGLUNIFORM2DPROC) load(userptr, "glUniform2d");
  1113. glad_glUniform2dv = (PFNGLUNIFORM2DVPROC) load(userptr, "glUniform2dv");
  1114. glad_glUniform3d = (PFNGLUNIFORM3DPROC) load(userptr, "glUniform3d");
  1115. glad_glUniform3dv = (PFNGLUNIFORM3DVPROC) load(userptr, "glUniform3dv");
  1116. glad_glUniform4d = (PFNGLUNIFORM4DPROC) load(userptr, "glUniform4d");
  1117. glad_glUniform4dv = (PFNGLUNIFORM4DVPROC) load(userptr, "glUniform4dv");
  1118. glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) load(userptr, "glUniformMatrix2dv");
  1119. glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) load(userptr, "glUniformMatrix2x3dv");
  1120. glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) load(userptr, "glUniformMatrix2x4dv");
  1121. glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) load(userptr, "glUniformMatrix3dv");
  1122. glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) load(userptr, "glUniformMatrix3x2dv");
  1123. glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) load(userptr, "glUniformMatrix3x4dv");
  1124. glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) load(userptr, "glUniformMatrix4dv");
  1125. glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) load(userptr, "glUniformMatrix4x2dv");
  1126. glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) load(userptr, "glUniformMatrix4x3dv");
  1127. glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) load(userptr, "glUniformSubroutinesuiv");
  1128. }
  1129. static void glad_gl_load_GL_VERSION_4_1( GLADuserptrloadfunc load, void* userptr) {
  1130. if(!GLAD_GL_VERSION_4_1) return;
  1131. glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) load(userptr, "glActiveShaderProgram");
  1132. glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) load(userptr, "glBindProgramPipeline");
  1133. glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf");
  1134. glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) load(userptr, "glCreateShaderProgramv");
  1135. glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) load(userptr, "glDeleteProgramPipelines");
  1136. glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) load(userptr, "glDepthRangeArrayv");
  1137. glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) load(userptr, "glDepthRangeIndexed");
  1138. glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef");
  1139. glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) load(userptr, "glGenProgramPipelines");
  1140. glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) load(userptr, "glGetDoublei_v");
  1141. glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC) load(userptr, "glGetFloati_v");
  1142. glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) load(userptr, "glGetProgramBinary");
  1143. glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) load(userptr, "glGetProgramPipelineInfoLog");
  1144. glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) load(userptr, "glGetProgramPipelineiv");
  1145. glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat");
  1146. glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) load(userptr, "glGetVertexAttribLdv");
  1147. glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) load(userptr, "glIsProgramPipeline");
  1148. glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC) load(userptr, "glProgramBinary");
  1149. glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) load(userptr, "glProgramParameteri");
  1150. glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) load(userptr, "glProgramUniform1d");
  1151. glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) load(userptr, "glProgramUniform1dv");
  1152. glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) load(userptr, "glProgramUniform1f");
  1153. glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) load(userptr, "glProgramUniform1fv");
  1154. glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) load(userptr, "glProgramUniform1i");
  1155. glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) load(userptr, "glProgramUniform1iv");
  1156. glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) load(userptr, "glProgramUniform1ui");
  1157. glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) load(userptr, "glProgramUniform1uiv");
  1158. glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) load(userptr, "glProgramUniform2d");
  1159. glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) load(userptr, "glProgramUniform2dv");
  1160. glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) load(userptr, "glProgramUniform2f");
  1161. glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) load(userptr, "glProgramUniform2fv");
  1162. glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) load(userptr, "glProgramUniform2i");
  1163. glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) load(userptr, "glProgramUniform2iv");
  1164. glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) load(userptr, "glProgramUniform2ui");
  1165. glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) load(userptr, "glProgramUniform2uiv");
  1166. glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) load(userptr, "glProgramUniform3d");
  1167. glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) load(userptr, "glProgramUniform3dv");
  1168. glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) load(userptr, "glProgramUniform3f");
  1169. glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) load(userptr, "glProgramUniform3fv");
  1170. glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) load(userptr, "glProgramUniform3i");
  1171. glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) load(userptr, "glProgramUniform3iv");
  1172. glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) load(userptr, "glProgramUniform3ui");
  1173. glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) load(userptr, "glProgramUniform3uiv");
  1174. glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) load(userptr, "glProgramUniform4d");
  1175. glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) load(userptr, "glProgramUniform4dv");
  1176. glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) load(userptr, "glProgramUniform4f");
  1177. glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) load(userptr, "glProgramUniform4fv");
  1178. glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) load(userptr, "glProgramUniform4i");
  1179. glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) load(userptr, "glProgramUniform4iv");
  1180. glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) load(userptr, "glProgramUniform4ui");
  1181. glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) load(userptr, "glProgramUniform4uiv");
  1182. glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) load(userptr, "glProgramUniformMatrix2dv");
  1183. glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) load(userptr, "glProgramUniformMatrix2fv");
  1184. glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) load(userptr, "glProgramUniformMatrix2x3dv");
  1185. glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) load(userptr, "glProgramUniformMatrix2x3fv");
  1186. glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) load(userptr, "glProgramUniformMatrix2x4dv");
  1187. glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) load(userptr, "glProgramUniformMatrix2x4fv");
  1188. glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) load(userptr, "glProgramUniformMatrix3dv");
  1189. glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) load(userptr, "glProgramUniformMatrix3fv");
  1190. glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) load(userptr, "glProgramUniformMatrix3x2dv");
  1191. glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) load(userptr, "glProgramUniformMatrix3x2fv");
  1192. glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) load(userptr, "glProgramUniformMatrix3x4dv");
  1193. glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) load(userptr, "glProgramUniformMatrix3x4fv");
  1194. glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) load(userptr, "glProgramUniformMatrix4dv");
  1195. glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) load(userptr, "glProgramUniformMatrix4fv");
  1196. glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) load(userptr, "glProgramUniformMatrix4x2dv");
  1197. glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) load(userptr, "glProgramUniformMatrix4x2fv");
  1198. glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) load(userptr, "glProgramUniformMatrix4x3dv");
  1199. glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) load(userptr, "glProgramUniformMatrix4x3fv");
  1200. glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler");
  1201. glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC) load(userptr, "glScissorArrayv");
  1202. glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC) load(userptr, "glScissorIndexed");
  1203. glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) load(userptr, "glScissorIndexedv");
  1204. glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary");
  1205. glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) load(userptr, "glUseProgramStages");
  1206. glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) load(userptr, "glValidateProgramPipeline");
  1207. glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) load(userptr, "glVertexAttribL1d");
  1208. glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) load(userptr, "glVertexAttribL1dv");
  1209. glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) load(userptr, "glVertexAttribL2d");
  1210. glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) load(userptr, "glVertexAttribL2dv");
  1211. glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) load(userptr, "glVertexAttribL3d");
  1212. glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) load(userptr, "glVertexAttribL3dv");
  1213. glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) load(userptr, "glVertexAttribL4d");
  1214. glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) load(userptr, "glVertexAttribL4dv");
  1215. glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) load(userptr, "glVertexAttribLPointer");
  1216. glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) load(userptr, "glViewportArrayv");
  1217. glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) load(userptr, "glViewportIndexedf");
  1218. glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) load(userptr, "glViewportIndexedfv");
  1219. }
  1220. static void glad_gl_load_GL_VERSION_4_2( GLADuserptrloadfunc load, void* userptr) {
  1221. if(!GLAD_GL_VERSION_4_2) return;
  1222. glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) load(userptr, "glBindImageTexture");
  1223. glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawArraysInstancedBaseInstance");
  1224. glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseInstance");
  1225. glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) load(userptr, "glDrawElementsInstancedBaseVertexBaseInstance");
  1226. glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackInstanced");
  1227. glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) load(userptr, "glDrawTransformFeedbackStreamInstanced");
  1228. glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) load(userptr, "glGetActiveAtomicCounterBufferiv");
  1229. glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) load(userptr, "glGetInternalformativ");
  1230. glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC) load(userptr, "glMemoryBarrier");
  1231. glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC) load(userptr, "glTexStorage1D");
  1232. glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC) load(userptr, "glTexStorage2D");
  1233. glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC) load(userptr, "glTexStorage3D");
  1234. }
  1235. static void glad_gl_load_GL_VERSION_4_3( GLADuserptrloadfunc load, void* userptr) {
  1236. if(!GLAD_GL_VERSION_4_3) return;
  1237. glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) load(userptr, "glBindVertexBuffer");
  1238. glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC) load(userptr, "glClearBufferData");
  1239. glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) load(userptr, "glClearBufferSubData");
  1240. glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) load(userptr, "glCopyImageSubData");
  1241. glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) load(userptr, "glDebugMessageCallback");
  1242. glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) load(userptr, "glDebugMessageControl");
  1243. glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) load(userptr, "glDebugMessageInsert");
  1244. glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) load(userptr, "glDispatchCompute");
  1245. glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) load(userptr, "glDispatchComputeIndirect");
  1246. glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) load(userptr, "glFramebufferParameteri");
  1247. glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) load(userptr, "glGetDebugMessageLog");
  1248. glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetFramebufferParameteriv");
  1249. glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) load(userptr, "glGetInternalformati64v");
  1250. glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC) load(userptr, "glGetObjectLabel");
  1251. glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) load(userptr, "glGetObjectPtrLabel");
  1252. glad_glGetPointerv = (PFNGLGETPOINTERVPROC) load(userptr, "glGetPointerv");
  1253. glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) load(userptr, "glGetProgramInterfaceiv");
  1254. glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) load(userptr, "glGetProgramResourceIndex");
  1255. glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) load(userptr, "glGetProgramResourceLocation");
  1256. glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) load(userptr, "glGetProgramResourceLocationIndex");
  1257. glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) load(userptr, "glGetProgramResourceName");
  1258. glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) load(userptr, "glGetProgramResourceiv");
  1259. glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) load(userptr, "glInvalidateBufferData");
  1260. glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) load(userptr, "glInvalidateBufferSubData");
  1261. glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) load(userptr, "glInvalidateFramebuffer");
  1262. glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) load(userptr, "glInvalidateSubFramebuffer");
  1263. glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) load(userptr, "glInvalidateTexImage");
  1264. glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) load(userptr, "glInvalidateTexSubImage");
  1265. glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) load(userptr, "glMultiDrawArraysIndirect");
  1266. glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) load(userptr, "glMultiDrawElementsIndirect");
  1267. glad_glObjectLabel = (PFNGLOBJECTLABELPROC) load(userptr, "glObjectLabel");
  1268. glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) load(userptr, "glObjectPtrLabel");
  1269. glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) load(userptr, "glPopDebugGroup");
  1270. glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) load(userptr, "glPushDebugGroup");
  1271. glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) load(userptr, "glShaderStorageBlockBinding");
  1272. glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) load(userptr, "glTexBufferRange");
  1273. glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) load(userptr, "glTexStorage2DMultisample");
  1274. glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) load(userptr, "glTexStorage3DMultisample");
  1275. glad_glTextureView = (PFNGLTEXTUREVIEWPROC) load(userptr, "glTextureView");
  1276. glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) load(userptr, "glVertexAttribBinding");
  1277. glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) load(userptr, "glVertexAttribFormat");
  1278. glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) load(userptr, "glVertexAttribIFormat");
  1279. glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) load(userptr, "glVertexAttribLFormat");
  1280. glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) load(userptr, "glVertexBindingDivisor");
  1281. }
  1282. static void glad_gl_load_GL_VERSION_4_4( GLADuserptrloadfunc load, void* userptr) {
  1283. if(!GLAD_GL_VERSION_4_4) return;
  1284. glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC) load(userptr, "glBindBuffersBase");
  1285. glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC) load(userptr, "glBindBuffersRange");
  1286. glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC) load(userptr, "glBindImageTextures");
  1287. glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC) load(userptr, "glBindSamplers");
  1288. glad_glBindTextures = (PFNGLBINDTEXTURESPROC) load(userptr, "glBindTextures");
  1289. glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC) load(userptr, "glBindVertexBuffers");
  1290. glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC) load(userptr, "glBufferStorage");
  1291. glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC) load(userptr, "glClearTexImage");
  1292. glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC) load(userptr, "glClearTexSubImage");
  1293. }
  1294. static void glad_gl_load_GL_VERSION_4_5( GLADuserptrloadfunc load, void* userptr) {
  1295. if(!GLAD_GL_VERSION_4_5) return;
  1296. glad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC) load(userptr, "glBindTextureUnit");
  1297. glad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC) load(userptr, "glBlitNamedFramebuffer");
  1298. glad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckNamedFramebufferStatus");
  1299. glad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC) load(userptr, "glClearNamedBufferData");
  1300. glad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC) load(userptr, "glClearNamedBufferSubData");
  1301. glad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) load(userptr, "glClearNamedFramebufferfi");
  1302. glad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) load(userptr, "glClearNamedFramebufferfv");
  1303. glad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) load(userptr, "glClearNamedFramebufferiv");
  1304. glad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) load(userptr, "glClearNamedFramebufferuiv");
  1305. glad_glClipControl = (PFNGLCLIPCONTROLPROC) load(userptr, "glClipControl");
  1306. glad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) load(userptr, "glCompressedTextureSubImage1D");
  1307. glad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) load(userptr, "glCompressedTextureSubImage2D");
  1308. glad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) load(userptr, "glCompressedTextureSubImage3D");
  1309. glad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC) load(userptr, "glCopyNamedBufferSubData");
  1310. glad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC) load(userptr, "glCopyTextureSubImage1D");
  1311. glad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC) load(userptr, "glCopyTextureSubImage2D");
  1312. glad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC) load(userptr, "glCopyTextureSubImage3D");
  1313. glad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC) load(userptr, "glCreateBuffers");
  1314. glad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC) load(userptr, "glCreateFramebuffers");
  1315. glad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC) load(userptr, "glCreateProgramPipelines");
  1316. glad_glCreateQueries = (PFNGLCREATEQUERIESPROC) load(userptr, "glCreateQueries");
  1317. glad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC) load(userptr, "glCreateRenderbuffers");
  1318. glad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC) load(userptr, "glCreateSamplers");
  1319. glad_glCreateTextures = (PFNGLCREATETEXTURESPROC) load(userptr, "glCreateTextures");
  1320. glad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC) load(userptr, "glCreateTransformFeedbacks");
  1321. glad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC) load(userptr, "glCreateVertexArrays");
  1322. glad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC) load(userptr, "glDisableVertexArrayAttrib");
  1323. glad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC) load(userptr, "glEnableVertexArrayAttrib");
  1324. glad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) load(userptr, "glFlushMappedNamedBufferRange");
  1325. glad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC) load(userptr, "glGenerateTextureMipmap");
  1326. glad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) load(userptr, "glGetCompressedTextureImage");
  1327. glad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) load(userptr, "glGetCompressedTextureSubImage");
  1328. glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC) load(userptr, "glGetGraphicsResetStatus");
  1329. glad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) load(userptr, "glGetNamedBufferParameteri64v");
  1330. glad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedBufferParameteriv");
  1331. glad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC) load(userptr, "glGetNamedBufferPointerv");
  1332. glad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC) load(userptr, "glGetNamedBufferSubData");
  1333. glad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferAttachmentParameteriv");
  1334. glad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedFramebufferParameteriv");
  1335. glad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetNamedRenderbufferParameteriv");
  1336. glad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC) load(userptr, "glGetQueryBufferObjecti64v");
  1337. glad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC) load(userptr, "glGetQueryBufferObjectiv");
  1338. glad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC) load(userptr, "glGetQueryBufferObjectui64v");
  1339. glad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC) load(userptr, "glGetQueryBufferObjectuiv");
  1340. glad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC) load(userptr, "glGetTextureImage");
  1341. glad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC) load(userptr, "glGetTextureLevelParameterfv");
  1342. glad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC) load(userptr, "glGetTextureLevelParameteriv");
  1343. glad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC) load(userptr, "glGetTextureParameterIiv");
  1344. glad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC) load(userptr, "glGetTextureParameterIuiv");
  1345. glad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC) load(userptr, "glGetTextureParameterfv");
  1346. glad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC) load(userptr, "glGetTextureParameteriv");
  1347. glad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC) load(userptr, "glGetTextureSubImage");
  1348. glad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC) load(userptr, "glGetTransformFeedbacki64_v");
  1349. glad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC) load(userptr, "glGetTransformFeedbacki_v");
  1350. glad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC) load(userptr, "glGetTransformFeedbackiv");
  1351. glad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC) load(userptr, "glGetVertexArrayIndexed64iv");
  1352. glad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC) load(userptr, "glGetVertexArrayIndexediv");
  1353. glad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC) load(userptr, "glGetVertexArrayiv");
  1354. glad_glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC) load(userptr, "glGetnCompressedTexImage");
  1355. glad_glGetnTexImage = (PFNGLGETNTEXIMAGEPROC) load(userptr, "glGetnTexImage");
  1356. glad_glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC) load(userptr, "glGetnUniformdv");
  1357. glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC) load(userptr, "glGetnUniformfv");
  1358. glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC) load(userptr, "glGetnUniformiv");
  1359. glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC) load(userptr, "glGetnUniformuiv");
  1360. glad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) load(userptr, "glInvalidateNamedFramebufferData");
  1361. glad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) load(userptr, "glInvalidateNamedFramebufferSubData");
  1362. glad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC) load(userptr, "glMapNamedBuffer");
  1363. glad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC) load(userptr, "glMapNamedBufferRange");
  1364. glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC) load(userptr, "glMemoryBarrierByRegion");
  1365. glad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC) load(userptr, "glNamedBufferData");
  1366. glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC) load(userptr, "glNamedBufferStorage");
  1367. glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC) load(userptr, "glNamedBufferSubData");
  1368. glad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) load(userptr, "glNamedFramebufferDrawBuffer");
  1369. glad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) load(userptr, "glNamedFramebufferDrawBuffers");
  1370. glad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) load(userptr, "glNamedFramebufferParameteri");
  1371. glad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) load(userptr, "glNamedFramebufferReadBuffer");
  1372. glad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glNamedFramebufferRenderbuffer");
  1373. glad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) load(userptr, "glNamedFramebufferTexture");
  1374. glad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) load(userptr, "glNamedFramebufferTextureLayer");
  1375. glad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC) load(userptr, "glNamedRenderbufferStorage");
  1376. glad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) load(userptr, "glNamedRenderbufferStorageMultisample");
  1377. glad_glReadnPixels = (PFNGLREADNPIXELSPROC) load(userptr, "glReadnPixels");
  1378. glad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC) load(userptr, "glTextureBarrier");
  1379. glad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC) load(userptr, "glTextureBuffer");
  1380. glad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC) load(userptr, "glTextureBufferRange");
  1381. glad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC) load(userptr, "glTextureParameterIiv");
  1382. glad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC) load(userptr, "glTextureParameterIuiv");
  1383. glad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC) load(userptr, "glTextureParameterf");
  1384. glad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC) load(userptr, "glTextureParameterfv");
  1385. glad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC) load(userptr, "glTextureParameteri");
  1386. glad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC) load(userptr, "glTextureParameteriv");
  1387. glad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC) load(userptr, "glTextureStorage1D");
  1388. glad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC) load(userptr, "glTextureStorage2D");
  1389. glad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) load(userptr, "glTextureStorage2DMultisample");
  1390. glad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC) load(userptr, "glTextureStorage3D");
  1391. glad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) load(userptr, "glTextureStorage3DMultisample");
  1392. glad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC) load(userptr, "glTextureSubImage1D");
  1393. glad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC) load(userptr, "glTextureSubImage2D");
  1394. glad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC) load(userptr, "glTextureSubImage3D");
  1395. glad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) load(userptr, "glTransformFeedbackBufferBase");
  1396. glad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) load(userptr, "glTransformFeedbackBufferRange");
  1397. glad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC) load(userptr, "glUnmapNamedBuffer");
  1398. glad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC) load(userptr, "glVertexArrayAttribBinding");
  1399. glad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC) load(userptr, "glVertexArrayAttribFormat");
  1400. glad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC) load(userptr, "glVertexArrayAttribIFormat");
  1401. glad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC) load(userptr, "glVertexArrayAttribLFormat");
  1402. glad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC) load(userptr, "glVertexArrayBindingDivisor");
  1403. glad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC) load(userptr, "glVertexArrayElementBuffer");
  1404. glad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC) load(userptr, "glVertexArrayVertexBuffer");
  1405. glad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC) load(userptr, "glVertexArrayVertexBuffers");
  1406. }
  1407. static void glad_gl_load_GL_VERSION_4_6( GLADuserptrloadfunc load, void* userptr) {
  1408. if(!GLAD_GL_VERSION_4_6) return;
  1409. glad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) load(userptr, "glMultiDrawArraysIndirectCount");
  1410. glad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) load(userptr, "glMultiDrawElementsIndirectCount");
  1411. glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC) load(userptr, "glPolygonOffsetClamp");
  1412. glad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC) load(userptr, "glSpecializeShader");
  1413. }
  1414. #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
  1415. #define GLAD_GL_IS_SOME_NEW_VERSION 1
  1416. #else
  1417. #define GLAD_GL_IS_SOME_NEW_VERSION 0
  1418. #endif
  1419. static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) {
  1420. #if GLAD_GL_IS_SOME_NEW_VERSION
  1421. if(GLAD_VERSION_MAJOR(version) < 3) {
  1422. #else
  1423. GLAD_UNUSED(version);
  1424. GLAD_UNUSED(out_num_exts_i);
  1425. GLAD_UNUSED(out_exts_i);
  1426. #endif
  1427. if (glad_glGetString == NULL) {
  1428. return 0;
  1429. }
  1430. *out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
  1431. #if GLAD_GL_IS_SOME_NEW_VERSION
  1432. } else {
  1433. unsigned int index = 0;
  1434. unsigned int num_exts_i = 0;
  1435. char **exts_i = NULL;
  1436. if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) {
  1437. return 0;
  1438. }
  1439. glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i);
  1440. if (num_exts_i > 0) {
  1441. exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i));
  1442. }
  1443. if (exts_i == NULL) {
  1444. return 0;
  1445. }
  1446. for(index = 0; index < num_exts_i; index++) {
  1447. const char *gl_str_tmp = (const char*) glad_glGetStringi(GL_EXTENSIONS, index);
  1448. size_t len = strlen(gl_str_tmp) + 1;
  1449. char *local_str = (char*) malloc(len * sizeof(char));
  1450. if(local_str != NULL) {
  1451. memcpy(local_str, gl_str_tmp, len * sizeof(char));
  1452. }
  1453. exts_i[index] = local_str;
  1454. }
  1455. *out_num_exts_i = num_exts_i;
  1456. *out_exts_i = exts_i;
  1457. }
  1458. #endif
  1459. return 1;
  1460. }
  1461. static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) {
  1462. if (exts_i != NULL) {
  1463. unsigned int index;
  1464. for(index = 0; index < num_exts_i; index++) {
  1465. free((void *) (exts_i[index]));
  1466. }
  1467. free((void *)exts_i);
  1468. exts_i = NULL;
  1469. }
  1470. }
  1471. static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) {
  1472. if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
  1473. const char *extensions;
  1474. const char *loc;
  1475. const char *terminator;
  1476. extensions = exts;
  1477. if(extensions == NULL || ext == NULL) {
  1478. return 0;
  1479. }
  1480. while(1) {
  1481. loc = strstr(extensions, ext);
  1482. if(loc == NULL) {
  1483. return 0;
  1484. }
  1485. terminator = loc + strlen(ext);
  1486. if((loc == extensions || *(loc - 1) == ' ') &&
  1487. (*terminator == ' ' || *terminator == '\0')) {
  1488. return 1;
  1489. }
  1490. extensions = terminator;
  1491. }
  1492. } else {
  1493. unsigned int index;
  1494. for(index = 0; index < num_exts_i; index++) {
  1495. const char *e = exts_i[index];
  1496. if(strcmp(e, ext) == 0) {
  1497. return 1;
  1498. }
  1499. }
  1500. }
  1501. return 0;
  1502. }
  1503. static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name) {
  1504. return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
  1505. }
  1506. static int glad_gl_find_extensions_gl( int version) {
  1507. const char *exts = NULL;
  1508. unsigned int num_exts_i = 0;
  1509. char **exts_i = NULL;
  1510. if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
  1511. GLAD_GL_EXT_texture_filter_anisotropic = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_filter_anisotropic");
  1512. glad_gl_free_extensions(exts_i, num_exts_i);
  1513. return 1;
  1514. }
  1515. static int glad_gl_find_core_gl(void) {
  1516. int i;
  1517. const char* version;
  1518. const char* prefixes[] = {
  1519. "OpenGL ES-CM ",
  1520. "OpenGL ES-CL ",
  1521. "OpenGL ES ",
  1522. "OpenGL SC ",
  1523. NULL
  1524. };
  1525. int major = 0;
  1526. int minor = 0;
  1527. version = (const char*) glad_glGetString(GL_VERSION);
  1528. if (!version) return 0;
  1529. for (i = 0; prefixes[i]; i++) {
  1530. const size_t length = strlen(prefixes[i]);
  1531. if (strncmp(version, prefixes[i], length) == 0) {
  1532. version += length;
  1533. break;
  1534. }
  1535. }
  1536. GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor);
  1537. GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
  1538. GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
  1539. GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
  1540. GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
  1541. GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
  1542. GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
  1543. GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
  1544. GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
  1545. GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
  1546. GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
  1547. GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
  1548. GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
  1549. GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4;
  1550. GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4;
  1551. GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4;
  1552. GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4;
  1553. GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4;
  1554. GLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4;
  1555. GLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4;
  1556. return GLAD_MAKE_VERSION(major, minor);
  1557. }
  1558. int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr) {
  1559. int version;
  1560. glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
  1561. if(glad_glGetString == NULL) return 0;
  1562. if(glad_glGetString(GL_VERSION) == NULL) return 0;
  1563. version = glad_gl_find_core_gl();
  1564. glad_gl_load_GL_VERSION_1_0(load, userptr);
  1565. glad_gl_load_GL_VERSION_1_1(load, userptr);
  1566. glad_gl_load_GL_VERSION_1_2(load, userptr);
  1567. glad_gl_load_GL_VERSION_1_3(load, userptr);
  1568. glad_gl_load_GL_VERSION_1_4(load, userptr);
  1569. glad_gl_load_GL_VERSION_1_5(load, userptr);
  1570. glad_gl_load_GL_VERSION_2_0(load, userptr);
  1571. glad_gl_load_GL_VERSION_2_1(load, userptr);
  1572. glad_gl_load_GL_VERSION_3_0(load, userptr);
  1573. glad_gl_load_GL_VERSION_3_1(load, userptr);
  1574. glad_gl_load_GL_VERSION_3_2(load, userptr);
  1575. glad_gl_load_GL_VERSION_3_3(load, userptr);
  1576. glad_gl_load_GL_VERSION_4_0(load, userptr);
  1577. glad_gl_load_GL_VERSION_4_1(load, userptr);
  1578. glad_gl_load_GL_VERSION_4_2(load, userptr);
  1579. glad_gl_load_GL_VERSION_4_3(load, userptr);
  1580. glad_gl_load_GL_VERSION_4_4(load, userptr);
  1581. glad_gl_load_GL_VERSION_4_5(load, userptr);
  1582. glad_gl_load_GL_VERSION_4_6(load, userptr);
  1583. if (!glad_gl_find_extensions_gl(version)) return 0;
  1584. return version;
  1585. }
  1586. int gladLoadGL( GLADloadfunc load) {
  1587. return gladLoadGLUserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
  1588. }
  1589. #ifdef __cplusplus
  1590. }
  1591. #endif