/caffe2/mobile/contrib/opengl/android/gl3stub.c

https://github.com/Yangqing/caffe2 · C · 357 lines · 338 code · 13 blank · 6 comment · 1 complexity · 233606a15886cbca8a55507dc46f5802 MD5 · raw file

  1. // clang-format off
  2. #include <EGL/egl.h>
  3. #include "gl3stub.h"
  4. GLboolean gl3stubInit() {
  5. #define FIND_PROC(s) s = (void*)eglGetProcAddress(#s)
  6. FIND_PROC(glReadBuffer);
  7. FIND_PROC(glDrawRangeElements);
  8. FIND_PROC(glTexImage3D);
  9. FIND_PROC(glTexSubImage3D);
  10. FIND_PROC(glCopyTexSubImage3D);
  11. FIND_PROC(glCompressedTexImage3D);
  12. FIND_PROC(glCompressedTexSubImage3D);
  13. FIND_PROC(glGenQueries);
  14. FIND_PROC(glDeleteQueries);
  15. FIND_PROC(glIsQuery);
  16. FIND_PROC(glBeginQuery);
  17. FIND_PROC(glEndQuery);
  18. FIND_PROC(glGetQueryiv);
  19. FIND_PROC(glGetQueryObjectuiv);
  20. FIND_PROC(glUnmapBuffer);
  21. FIND_PROC(glGetBufferPointerv);
  22. FIND_PROC(glDrawBuffers);
  23. FIND_PROC(glUniformMatrix2x3fv);
  24. FIND_PROC(glUniformMatrix3x2fv);
  25. FIND_PROC(glUniformMatrix2x4fv);
  26. FIND_PROC(glUniformMatrix4x2fv);
  27. FIND_PROC(glUniformMatrix3x4fv);
  28. FIND_PROC(glUniformMatrix4x3fv);
  29. FIND_PROC(glBlitFramebuffer);
  30. FIND_PROC(glRenderbufferStorageMultisample);
  31. FIND_PROC(glFramebufferTextureLayer);
  32. FIND_PROC(glMapBufferRange);
  33. FIND_PROC(glFlushMappedBufferRange);
  34. FIND_PROC(glBindVertexArray);
  35. FIND_PROC(glDeleteVertexArrays);
  36. FIND_PROC(glGenVertexArrays);
  37. FIND_PROC(glIsVertexArray);
  38. FIND_PROC(glGetIntegeri_v);
  39. FIND_PROC(glBeginTransformFeedback);
  40. FIND_PROC(glEndTransformFeedback);
  41. FIND_PROC(glBindBufferRange);
  42. FIND_PROC(glBindBufferBase);
  43. FIND_PROC(glTransformFeedbackVaryings);
  44. FIND_PROC(glGetTransformFeedbackVarying);
  45. FIND_PROC(glVertexAttribIPointer);
  46. FIND_PROC(glGetVertexAttribIiv);
  47. FIND_PROC(glGetVertexAttribIuiv);
  48. FIND_PROC(glVertexAttribI4i);
  49. FIND_PROC(glVertexAttribI4ui);
  50. FIND_PROC(glVertexAttribI4iv);
  51. FIND_PROC(glVertexAttribI4uiv);
  52. FIND_PROC(glGetUniformuiv);
  53. FIND_PROC(glGetFragDataLocation);
  54. FIND_PROC(glUniform1ui);
  55. FIND_PROC(glUniform2ui);
  56. FIND_PROC(glUniform3ui);
  57. FIND_PROC(glUniform4ui);
  58. FIND_PROC(glUniform1uiv);
  59. FIND_PROC(glUniform2uiv);
  60. FIND_PROC(glUniform3uiv);
  61. FIND_PROC(glUniform4uiv);
  62. FIND_PROC(glClearBufferiv);
  63. FIND_PROC(glClearBufferuiv);
  64. FIND_PROC(glClearBufferfv);
  65. FIND_PROC(glClearBufferfi);
  66. FIND_PROC(glGetStringi);
  67. FIND_PROC(glCopyBufferSubData);
  68. FIND_PROC(glGetUniformIndices);
  69. FIND_PROC(glGetActiveUniformsiv);
  70. FIND_PROC(glGetUniformBlockIndex);
  71. FIND_PROC(glGetActiveUniformBlockiv);
  72. FIND_PROC(glGetActiveUniformBlockName);
  73. FIND_PROC(glUniformBlockBinding);
  74. FIND_PROC(glDrawArraysInstanced);
  75. FIND_PROC(glDrawElementsInstanced);
  76. FIND_PROC(glFenceSync);
  77. FIND_PROC(glIsSync);
  78. FIND_PROC(glDeleteSync);
  79. FIND_PROC(glClientWaitSync);
  80. FIND_PROC(glWaitSync);
  81. FIND_PROC(glGetInteger64v);
  82. FIND_PROC(glGetSynciv);
  83. FIND_PROC(glGetInteger64i_v);
  84. FIND_PROC(glGetBufferParameteri64v);
  85. FIND_PROC(glGenSamplers);
  86. FIND_PROC(glDeleteSamplers);
  87. FIND_PROC(glIsSampler);
  88. FIND_PROC(glBindSampler);
  89. FIND_PROC(glSamplerParameteri);
  90. FIND_PROC(glSamplerParameteriv);
  91. FIND_PROC(glSamplerParameterf);
  92. FIND_PROC(glSamplerParameterfv);
  93. FIND_PROC(glGetSamplerParameteriv);
  94. FIND_PROC(glGetSamplerParameterfv);
  95. FIND_PROC(glVertexAttribDivisor);
  96. FIND_PROC(glBindTransformFeedback);
  97. FIND_PROC(glDeleteTransformFeedbacks);
  98. FIND_PROC(glGenTransformFeedbacks);
  99. FIND_PROC(glIsTransformFeedback);
  100. FIND_PROC(glPauseTransformFeedback);
  101. FIND_PROC(glResumeTransformFeedback);
  102. FIND_PROC(glGetProgramBinary);
  103. FIND_PROC(glProgramBinary);
  104. FIND_PROC(glProgramParameteri);
  105. FIND_PROC(glInvalidateFramebuffer);
  106. FIND_PROC(glInvalidateSubFramebuffer);
  107. FIND_PROC(glTexStorage2D);
  108. FIND_PROC(glTexStorage3D);
  109. FIND_PROC(glGetInternalformativ);
  110. // Bind GL_EXT_texture_border_clamp
  111. FIND_PROC(glTexParameterIivEXT);
  112. FIND_PROC(glTexParameterIuivEXT);
  113. FIND_PROC(glGetTexParameterIivEXT);
  114. FIND_PROC(glGetTexParameterIuivEXT);
  115. FIND_PROC(glSamplerParameterIivEXT);
  116. FIND_PROC(glSamplerParameterIuivEXT);
  117. FIND_PROC(glGetSamplerParameterIivEXT);
  118. FIND_PROC(glGetSamplerParameterIuivEXT);
  119. #undef FIND_PROC
  120. if (!glReadBuffer ||
  121. !glDrawRangeElements ||
  122. !glTexImage3D ||
  123. !glTexSubImage3D ||
  124. !glCopyTexSubImage3D ||
  125. !glCompressedTexImage3D ||
  126. !glCompressedTexSubImage3D ||
  127. !glGenQueries ||
  128. !glDeleteQueries ||
  129. !glIsQuery ||
  130. !glBeginQuery ||
  131. !glEndQuery ||
  132. !glGetQueryiv ||
  133. !glGetQueryObjectuiv ||
  134. !glUnmapBuffer ||
  135. !glGetBufferPointerv ||
  136. !glDrawBuffers ||
  137. !glUniformMatrix2x3fv ||
  138. !glUniformMatrix3x2fv ||
  139. !glUniformMatrix2x4fv ||
  140. !glUniformMatrix4x2fv ||
  141. !glUniformMatrix3x4fv ||
  142. !glUniformMatrix4x3fv ||
  143. !glBlitFramebuffer ||
  144. !glRenderbufferStorageMultisample ||
  145. !glFramebufferTextureLayer ||
  146. !glMapBufferRange ||
  147. !glFlushMappedBufferRange ||
  148. !glBindVertexArray ||
  149. !glDeleteVertexArrays ||
  150. !glGenVertexArrays ||
  151. !glIsVertexArray ||
  152. !glGetIntegeri_v ||
  153. !glBeginTransformFeedback ||
  154. !glEndTransformFeedback ||
  155. !glBindBufferRange ||
  156. !glBindBufferBase ||
  157. !glTransformFeedbackVaryings ||
  158. !glGetTransformFeedbackVarying ||
  159. !glVertexAttribIPointer ||
  160. !glGetVertexAttribIiv ||
  161. !glGetVertexAttribIuiv ||
  162. !glVertexAttribI4i ||
  163. !glVertexAttribI4ui ||
  164. !glVertexAttribI4iv ||
  165. !glVertexAttribI4uiv ||
  166. !glGetUniformuiv ||
  167. !glGetFragDataLocation ||
  168. !glUniform1ui ||
  169. !glUniform2ui ||
  170. !glUniform3ui ||
  171. !glUniform4ui ||
  172. !glUniform1uiv ||
  173. !glUniform2uiv ||
  174. !glUniform3uiv ||
  175. !glUniform4uiv ||
  176. !glClearBufferiv ||
  177. !glClearBufferuiv ||
  178. !glClearBufferfv ||
  179. !glClearBufferfi ||
  180. !glGetStringi ||
  181. !glCopyBufferSubData ||
  182. !glGetUniformIndices ||
  183. !glGetActiveUniformsiv ||
  184. !glGetUniformBlockIndex ||
  185. !glGetActiveUniformBlockiv ||
  186. !glGetActiveUniformBlockName ||
  187. !glUniformBlockBinding ||
  188. !glDrawArraysInstanced ||
  189. !glDrawElementsInstanced ||
  190. !glFenceSync ||
  191. !glIsSync ||
  192. !glDeleteSync ||
  193. !glClientWaitSync ||
  194. !glWaitSync ||
  195. !glGetInteger64v ||
  196. !glGetSynciv ||
  197. !glGetInteger64i_v ||
  198. !glGetBufferParameteri64v ||
  199. !glGenSamplers ||
  200. !glDeleteSamplers ||
  201. !glIsSampler ||
  202. !glBindSampler ||
  203. !glSamplerParameteri ||
  204. !glSamplerParameteriv ||
  205. !glSamplerParameterf ||
  206. !glSamplerParameterfv ||
  207. !glGetSamplerParameteriv ||
  208. !glGetSamplerParameterfv ||
  209. !glVertexAttribDivisor ||
  210. !glBindTransformFeedback ||
  211. !glDeleteTransformFeedbacks ||
  212. !glGenTransformFeedbacks ||
  213. !glIsTransformFeedback ||
  214. !glPauseTransformFeedback ||
  215. !glResumeTransformFeedback ||
  216. !glGetProgramBinary ||
  217. !glProgramBinary ||
  218. !glProgramParameteri ||
  219. !glInvalidateFramebuffer ||
  220. !glInvalidateSubFramebuffer ||
  221. !glTexStorage2D ||
  222. !glTexStorage3D ||
  223. !glGetInternalformativ)
  224. {
  225. return GL_FALSE;
  226. }
  227. return GL_TRUE;
  228. }
  229. /* Function pointer definitions */
  230. GL_APICALL void (* GL_APIENTRY glReadBuffer) (GLenum mode);
  231. GL_APICALL void (* GL_APIENTRY glDrawRangeElements) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
  232. GL_APICALL void (* GL_APIENTRY glTexImage3D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
  233. GL_APICALL void (* GL_APIENTRY glTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
  234. GL_APICALL void (* GL_APIENTRY glCopyTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
  235. GL_APICALL void (* GL_APIENTRY glCompressedTexImage3D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
  236. GL_APICALL void (* GL_APIENTRY glCompressedTexSubImage3D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
  237. GL_APICALL void (* GL_APIENTRY glGenQueries) (GLsizei n, GLuint* ids);
  238. GL_APICALL void (* GL_APIENTRY glDeleteQueries) (GLsizei n, const GLuint* ids);
  239. GL_APICALL GLboolean (* GL_APIENTRY glIsQuery) (GLuint id);
  240. GL_APICALL void (* GL_APIENTRY glBeginQuery) (GLenum target, GLuint id);
  241. GL_APICALL void (* GL_APIENTRY glEndQuery) (GLenum target);
  242. GL_APICALL void (* GL_APIENTRY glGetQueryiv) (GLenum target, GLenum pname, GLint* params);
  243. GL_APICALL void (* GL_APIENTRY glGetQueryObjectuiv) (GLuint id, GLenum pname, GLuint* params);
  244. GL_APICALL GLboolean (* GL_APIENTRY glUnmapBuffer) (GLenum target);
  245. GL_APICALL void (* GL_APIENTRY glGetBufferPointerv) (GLenum target, GLenum pname, GLvoid** params);
  246. GL_APICALL void (* GL_APIENTRY glDrawBuffers) (GLsizei n, const GLenum* bufs);
  247. GL_APICALL void (* GL_APIENTRY glUniformMatrix2x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  248. GL_APICALL void (* GL_APIENTRY glUniformMatrix3x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  249. GL_APICALL void (* GL_APIENTRY glUniformMatrix2x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  250. GL_APICALL void (* GL_APIENTRY glUniformMatrix4x2fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  251. GL_APICALL void (* GL_APIENTRY glUniformMatrix3x4fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  252. GL_APICALL void (* GL_APIENTRY glUniformMatrix4x3fv) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
  253. GL_APICALL void (* GL_APIENTRY glBlitFramebuffer) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
  254. GL_APICALL void (* GL_APIENTRY glRenderbufferStorageMultisample) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
  255. GL_APICALL void (* GL_APIENTRY glFramebufferTextureLayer) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
  256. GL_APICALL GLvoid* (* GL_APIENTRY glMapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
  257. GL_APICALL void (* GL_APIENTRY glFlushMappedBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length);
  258. GL_APICALL void (* GL_APIENTRY glBindVertexArray) (GLuint array);
  259. GL_APICALL void (* GL_APIENTRY glDeleteVertexArrays) (GLsizei n, const GLuint* arrays);
  260. GL_APICALL void (* GL_APIENTRY glGenVertexArrays) (GLsizei n, GLuint* arrays);
  261. GL_APICALL GLboolean (* GL_APIENTRY glIsVertexArray) (GLuint array);
  262. GL_APICALL void (* GL_APIENTRY glGetIntegeri_v) (GLenum target, GLuint index, GLint* data);
  263. GL_APICALL void (* GL_APIENTRY glBeginTransformFeedback) (GLenum primitiveMode);
  264. GL_APICALL void (* GL_APIENTRY glEndTransformFeedback) (void);
  265. GL_APICALL void (* GL_APIENTRY glBindBufferRange) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
  266. GL_APICALL void (* GL_APIENTRY glBindBufferBase) (GLenum target, GLuint index, GLuint buffer);
  267. GL_APICALL void (* GL_APIENTRY glTransformFeedbackVaryings) (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode);
  268. GL_APICALL void (* GL_APIENTRY glGetTransformFeedbackVarying) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
  269. GL_APICALL void (* GL_APIENTRY glVertexAttribIPointer) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
  270. GL_APICALL void (* GL_APIENTRY glGetVertexAttribIiv) (GLuint index, GLenum pname, GLint* params);
  271. GL_APICALL void (* GL_APIENTRY glGetVertexAttribIuiv) (GLuint index, GLenum pname, GLuint* params);
  272. GL_APICALL void (* GL_APIENTRY glVertexAttribI4i) (GLuint index, GLint x, GLint y, GLint z, GLint w);
  273. GL_APICALL void (* GL_APIENTRY glVertexAttribI4ui) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
  274. GL_APICALL void (* GL_APIENTRY glVertexAttribI4iv) (GLuint index, const GLint* v);
  275. GL_APICALL void (* GL_APIENTRY glVertexAttribI4uiv) (GLuint index, const GLuint* v);
  276. GL_APICALL void (* GL_APIENTRY glGetUniformuiv) (GLuint program, GLint location, GLuint* params);
  277. GL_APICALL GLint (* GL_APIENTRY glGetFragDataLocation) (GLuint program, const GLchar *name);
  278. GL_APICALL void (* GL_APIENTRY glUniform1ui) (GLint location, GLuint v0);
  279. GL_APICALL void (* GL_APIENTRY glUniform2ui) (GLint location, GLuint v0, GLuint v1);
  280. GL_APICALL void (* GL_APIENTRY glUniform3ui) (GLint location, GLuint v0, GLuint v1, GLuint v2);
  281. GL_APICALL void (* GL_APIENTRY glUniform4ui) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
  282. GL_APICALL void (* GL_APIENTRY glUniform1uiv) (GLint location, GLsizei count, const GLuint* value);
  283. GL_APICALL void (* GL_APIENTRY glUniform2uiv) (GLint location, GLsizei count, const GLuint* value);
  284. GL_APICALL void (* GL_APIENTRY glUniform3uiv) (GLint location, GLsizei count, const GLuint* value);
  285. GL_APICALL void (* GL_APIENTRY glUniform4uiv) (GLint location, GLsizei count, const GLuint* value);
  286. GL_APICALL void (* GL_APIENTRY glClearBufferiv) (GLenum buffer, GLint drawbuffer, const GLint* value);
  287. GL_APICALL void (* GL_APIENTRY glClearBufferuiv) (GLenum buffer, GLint drawbuffer, const GLuint* value);
  288. GL_APICALL void (* GL_APIENTRY glClearBufferfv) (GLenum buffer, GLint drawbuffer, const GLfloat* value);
  289. GL_APICALL void (* GL_APIENTRY glClearBufferfi) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
  290. GL_APICALL const GLubyte* (* GL_APIENTRY glGetStringi) (GLenum name, GLuint index);
  291. GL_APICALL void (* GL_APIENTRY glCopyBufferSubData) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
  292. GL_APICALL void (* GL_APIENTRY glGetUniformIndices) (GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices);
  293. GL_APICALL void (* GL_APIENTRY glGetActiveUniformsiv) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
  294. GL_APICALL GLuint (* GL_APIENTRY glGetUniformBlockIndex) (GLuint program, const GLchar* uniformBlockName);
  295. GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockiv) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
  296. GL_APICALL void (* GL_APIENTRY glGetActiveUniformBlockName) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
  297. GL_APICALL void (* GL_APIENTRY glUniformBlockBinding) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
  298. GL_APICALL void (* GL_APIENTRY glDrawArraysInstanced) (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
  299. GL_APICALL void (* GL_APIENTRY glDrawElementsInstanced) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount);
  300. GL_APICALL GLsync (* GL_APIENTRY glFenceSync) (GLenum condition, GLbitfield flags);
  301. GL_APICALL GLboolean (* GL_APIENTRY glIsSync) (GLsync sync);
  302. GL_APICALL void (* GL_APIENTRY glDeleteSync) (GLsync sync);
  303. GL_APICALL GLenum (* GL_APIENTRY glClientWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  304. GL_APICALL void (* GL_APIENTRY glWaitSync) (GLsync sync, GLbitfield flags, GLuint64 timeout);
  305. GL_APICALL void (* GL_APIENTRY glGetInteger64v) (GLenum pname, GLint64* params);
  306. GL_APICALL void (* GL_APIENTRY glGetSynciv) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
  307. GL_APICALL void (* GL_APIENTRY glGetInteger64i_v) (GLenum target, GLuint index, GLint64* data);
  308. GL_APICALL void (* GL_APIENTRY glGetBufferParameteri64v) (GLenum target, GLenum pname, GLint64* params);
  309. GL_APICALL void (* GL_APIENTRY glGenSamplers) (GLsizei count, GLuint* samplers);
  310. GL_APICALL void (* GL_APIENTRY glDeleteSamplers) (GLsizei count, const GLuint* samplers);
  311. GL_APICALL GLboolean (* GL_APIENTRY glIsSampler) (GLuint sampler);
  312. GL_APICALL void (* GL_APIENTRY glBindSampler) (GLuint unit, GLuint sampler);
  313. GL_APICALL void (* GL_APIENTRY glSamplerParameteri) (GLuint sampler, GLenum pname, GLint param);
  314. GL_APICALL void (* GL_APIENTRY glSamplerParameteriv) (GLuint sampler, GLenum pname, const GLint* param);
  315. GL_APICALL void (* GL_APIENTRY glSamplerParameterf) (GLuint sampler, GLenum pname, GLfloat param);
  316. GL_APICALL void (* GL_APIENTRY glSamplerParameterfv) (GLuint sampler, GLenum pname, const GLfloat* param);
  317. GL_APICALL void (* GL_APIENTRY glGetSamplerParameteriv) (GLuint sampler, GLenum pname, GLint* params);
  318. GL_APICALL void (* GL_APIENTRY glGetSamplerParameterfv) (GLuint sampler, GLenum pname, GLfloat* params);
  319. GL_APICALL void (* GL_APIENTRY glVertexAttribDivisor) (GLuint index, GLuint divisor);
  320. GL_APICALL void (* GL_APIENTRY glBindTransformFeedback) (GLenum target, GLuint id);
  321. GL_APICALL void (* GL_APIENTRY glDeleteTransformFeedbacks) (GLsizei n, const GLuint* ids);
  322. GL_APICALL void (* GL_APIENTRY glGenTransformFeedbacks) (GLsizei n, GLuint* ids);
  323. GL_APICALL GLboolean (* GL_APIENTRY glIsTransformFeedback) (GLuint id);
  324. GL_APICALL void (* GL_APIENTRY glPauseTransformFeedback) (void);
  325. GL_APICALL void (* GL_APIENTRY glResumeTransformFeedback) (void);
  326. GL_APICALL void (* GL_APIENTRY glGetProgramBinary) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary);
  327. GL_APICALL void (* GL_APIENTRY glProgramBinary) (GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length);
  328. GL_APICALL void (* GL_APIENTRY glProgramParameteri) (GLuint program, GLenum pname, GLint value);
  329. GL_APICALL void (* GL_APIENTRY glInvalidateFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum* attachments);
  330. GL_APICALL void (* GL_APIENTRY glInvalidateSubFramebuffer) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
  331. GL_APICALL void (* GL_APIENTRY glTexStorage2D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
  332. GL_APICALL void (* GL_APIENTRY glTexStorage3D) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
  333. GL_APICALL void (* GL_APIENTRY glGetInternalformativ) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);
  334. // GL_EXT_texture_border_clamp
  335. GL_APICALL void (* GL_APIENTRY glTexParameterIivEXT) (GLenum target, GLenum pname, const GLint *params);
  336. GL_APICALL void (* GL_APIENTRY glTexParameterIuivEXT) (GLenum target, GLenum pname, const GLuint *params);
  337. GL_APICALL void (* GL_APIENTRY glGetTexParameterIivEXT) (GLenum target, GLenum pname, GLint *params);
  338. GL_APICALL void (* GL_APIENTRY glGetTexParameterIuivEXT) (GLenum target, GLenum pname, GLuint *params);
  339. GL_APICALL void (* GL_APIENTRY glSamplerParameterIivEXT) (GLuint sampler, GLenum pname, const GLint *param);
  340. GL_APICALL void (* GL_APIENTRY glSamplerParameterIuivEXT) (GLuint sampler, GLenum pname, const GLuint *param);
  341. GL_APICALL void (* GL_APIENTRY glGetSamplerParameterIivEXT) (GLuint sampler, GLenum pname, GLint *params);
  342. GL_APICALL void (* GL_APIENTRY glGetSamplerParameterIuivEXT) (GLuint sampler, GLenum pname, GLuint *params);
  343. // End GL_EXT_texture_border_clamp
  344. // clang-format on