PageRenderTime 41ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs

https://github.com/dagit/OpenGLRaw
Haskell | 598 lines | 577 code | 5 blank | 16 comment | 0 complexity | e1bf440cd3e049f739fb5cec7011810d MD5 | raw file
Possible License(s): BSD-3-Clause
  1. {-# LANGUAGE ForeignFunctionInterface, CPP #-}
  2. {-# OPTIONS_HADDOCK hide #-}
  3. --------------------------------------------------------------------------------
  4. -- |
  5. -- Module : Graphics.Rendering.OpenGL.Raw.Core31.Functions
  6. -- Copyright : (c) Sven Panne 2013
  7. -- License : BSD3
  8. --
  9. -- Maintainer : Sven Panne <svenpanne@gmail.com>
  10. -- Stability : stable
  11. -- Portability : portable
  12. --
  13. -- All raw functions from the OpenGL 3.1 core, see
  14. -- <http://www.opengl.org/registry/>.
  15. --
  16. --------------------------------------------------------------------------------
  17. module Graphics.Rendering.OpenGL.Raw.Core31.Functions (
  18. glActiveTexture,
  19. glAttachShader,
  20. glBeginConditionalRender,
  21. glBeginQuery,
  22. glBeginTransformFeedback,
  23. glBindAttribLocation,
  24. glBindBuffer,
  25. glBindFragDataLocation,
  26. glBindFramebuffer,
  27. glBindRenderbuffer,
  28. glBindTexture,
  29. glBindVertexArray,
  30. glBlendColor,
  31. glBlendEquation,
  32. glBlendEquationSeparate,
  33. glBlendFunc,
  34. glBlendFuncSeparate,
  35. glBlitFramebuffer,
  36. glBufferData,
  37. glBufferSubData,
  38. glCheckFramebufferStatus,
  39. glClampColor,
  40. glClear,
  41. glClearBufferfi,
  42. glClearBufferfv,
  43. glClearBufferiv,
  44. glClearBufferuiv,
  45. glClearColor,
  46. glClearDepth,
  47. glClearStencil,
  48. glColorMask,
  49. glColorMaski,
  50. glCompileShader,
  51. glCompressedTexImage1D,
  52. glCompressedTexImage2D,
  53. glCompressedTexImage3D,
  54. glCompressedTexSubImage1D,
  55. glCompressedTexSubImage2D,
  56. glCompressedTexSubImage3D,
  57. glCopyTexImage1D,
  58. glCopyTexImage2D,
  59. glCopyTexSubImage1D,
  60. glCopyTexSubImage2D,
  61. glCopyTexSubImage3D,
  62. glCreateProgram,
  63. glCreateShader,
  64. glCullFace,
  65. glDeleteBuffers,
  66. glDeleteFramebuffers,
  67. glDeleteProgram,
  68. glDeleteQueries,
  69. glDeleteRenderbuffers,
  70. glDeleteShader,
  71. glDeleteTextures,
  72. glDeleteVertexArrays,
  73. glDepthFunc,
  74. glDepthMask,
  75. glDepthRange,
  76. glDetachShader,
  77. glDisable,
  78. glDisableVertexAttribArray,
  79. glDisablei,
  80. glDrawArrays,
  81. glDrawBuffer,
  82. glDrawBuffers,
  83. glDrawElements,
  84. glDrawRangeElements,
  85. glEnable,
  86. glEnableVertexAttribArray,
  87. glEnablei,
  88. glEndConditionalRender,
  89. glEndQuery,
  90. glEndTransformFeedback,
  91. glFinish,
  92. glFlush,
  93. glFlushMappedBufferRange,
  94. glFramebufferRenderbuffer,
  95. glFramebufferTexture1D,
  96. glFramebufferTexture2D,
  97. glFramebufferTexture3D,
  98. glFramebufferTextureLayer,
  99. glFrontFace,
  100. glGenBuffers,
  101. glGenFramebuffers,
  102. glGenQueries,
  103. glGenRenderbuffers,
  104. glGenTextures,
  105. glGenVertexArrays,
  106. glGenerateMipmap,
  107. glGetActiveAttrib,
  108. glGetActiveUniform,
  109. glGetAttachedShaders,
  110. glGetAttribLocation,
  111. glGetBooleani_v,
  112. glGetBooleanv,
  113. glGetBufferParameteriv,
  114. glGetBufferPointerv,
  115. glGetBufferSubData,
  116. glGetCompressedTexImage,
  117. glGetDoublev,
  118. glGetError,
  119. glGetFloatv,
  120. glGetFragDataLocation,
  121. glGetFramebufferAttachmentParameteriv,
  122. glGetIntegerv,
  123. glGetPointerv,
  124. glGetProgramInfoLog,
  125. glGetProgramiv,
  126. glGetQueryObjectiv,
  127. glGetQueryObjectuiv,
  128. glGetQueryiv,
  129. glGetRenderbufferParameteriv,
  130. glGetShaderInfoLog,
  131. glGetShaderSource,
  132. glGetShaderiv,
  133. glGetString,
  134. glGetStringi,
  135. glGetTexImage,
  136. glGetTexLevelParameterfv,
  137. glGetTexLevelParameteriv,
  138. glGetTexParameterIiv,
  139. glGetTexParameterIuiv,
  140. glGetTexParameterfv,
  141. glGetTexParameteriv,
  142. glGetTransformFeedbackVarying,
  143. glGetUniformLocation,
  144. glGetUniformfv,
  145. glGetUniformiv,
  146. glGetUniformuiv,
  147. glGetVertexAttribIiv,
  148. glGetVertexAttribIuiv,
  149. glGetVertexAttribPointerv,
  150. glGetVertexAttribdv,
  151. glGetVertexAttribfv,
  152. glGetVertexAttribiv,
  153. glHint,
  154. glIsBuffer,
  155. glIsEnabled,
  156. glIsEnabledi,
  157. glIsFramebuffer,
  158. glIsProgram,
  159. glIsQuery,
  160. glIsRenderbuffer,
  161. glIsShader,
  162. glIsTexture,
  163. glIsVertexArray,
  164. glLineWidth,
  165. glLinkProgram,
  166. glLogicOp,
  167. glMapBuffer,
  168. glMapBufferRange,
  169. glMultiDrawArrays,
  170. glMultiDrawElements,
  171. glPixelStoref,
  172. glPixelStorei,
  173. glPointParameterf,
  174. glPointParameterfv,
  175. glPointParameteri,
  176. glPointParameteriv,
  177. glPointSize,
  178. glPolygonMode,
  179. glPolygonOffset,
  180. glPrimitiveRestartIndex,
  181. glReadBuffer,
  182. glReadPixels,
  183. glRenderbufferStorage,
  184. glRenderbufferStorageMultisample,
  185. glSampleCoverage,
  186. glScissor,
  187. glShaderSource,
  188. glStencilFunc,
  189. glStencilFuncSeparate,
  190. glStencilMask,
  191. glStencilMaskSeparate,
  192. glStencilOp,
  193. glStencilOpSeparate,
  194. glTexImage1D,
  195. glTexImage2D,
  196. glTexImage3D,
  197. glTexParameterIiv,
  198. glTexParameterIuiv,
  199. glTexParameterf,
  200. glTexParameterfv,
  201. glTexParameteri,
  202. glTexParameteriv,
  203. glTexSubImage1D,
  204. glTexSubImage2D,
  205. glTexSubImage3D,
  206. glTransformFeedbackVaryings,
  207. glUniform1f,
  208. glUniform1fv,
  209. glUniform1i,
  210. glUniform1iv,
  211. glUniform1ui,
  212. glUniform1uiv,
  213. glUniform2f,
  214. glUniform2fv,
  215. glUniform2i,
  216. glUniform2iv,
  217. glUniform2ui,
  218. glUniform2uiv,
  219. glUniform3f,
  220. glUniform3fv,
  221. glUniform3i,
  222. glUniform3iv,
  223. glUniform3ui,
  224. glUniform3uiv,
  225. glUniform4f,
  226. glUniform4fv,
  227. glUniform4i,
  228. glUniform4iv,
  229. glUniform4ui,
  230. glUniform4uiv,
  231. glUniformMatrix2fv,
  232. glUniformMatrix2x3fv,
  233. glUniformMatrix2x4fv,
  234. glUniformMatrix3fv,
  235. glUniformMatrix3x2fv,
  236. glUniformMatrix3x4fv,
  237. glUniformMatrix4fv,
  238. glUniformMatrix4x2fv,
  239. glUniformMatrix4x3fv,
  240. glUnmapBuffer,
  241. glUseProgram,
  242. glValidateProgram,
  243. glVertexAttrib1d,
  244. glVertexAttrib1dv,
  245. glVertexAttrib1f,
  246. glVertexAttrib1fv,
  247. glVertexAttrib1s,
  248. glVertexAttrib1sv,
  249. glVertexAttrib2d,
  250. glVertexAttrib2dv,
  251. glVertexAttrib2f,
  252. glVertexAttrib2fv,
  253. glVertexAttrib2s,
  254. glVertexAttrib2sv,
  255. glVertexAttrib3d,
  256. glVertexAttrib3dv,
  257. glVertexAttrib3f,
  258. glVertexAttrib3fv,
  259. glVertexAttrib3s,
  260. glVertexAttrib3sv,
  261. glVertexAttrib4Nbv,
  262. glVertexAttrib4Niv,
  263. glVertexAttrib4Nsv,
  264. glVertexAttrib4Nub,
  265. glVertexAttrib4Nubv,
  266. glVertexAttrib4Nuiv,
  267. glVertexAttrib4Nusv,
  268. glVertexAttrib4bv,
  269. glVertexAttrib4d,
  270. glVertexAttrib4dv,
  271. glVertexAttrib4f,
  272. glVertexAttrib4fv,
  273. glVertexAttrib4iv,
  274. glVertexAttrib4s,
  275. glVertexAttrib4sv,
  276. glVertexAttrib4ubv,
  277. glVertexAttrib4uiv,
  278. glVertexAttrib4usv,
  279. glVertexAttribI1i,
  280. glVertexAttribI1iv,
  281. glVertexAttribI1ui,
  282. glVertexAttribI1uiv,
  283. glVertexAttribI2i,
  284. glVertexAttribI2iv,
  285. glVertexAttribI2ui,
  286. glVertexAttribI2uiv,
  287. glVertexAttribI3i,
  288. glVertexAttribI3iv,
  289. glVertexAttribI3ui,
  290. glVertexAttribI3uiv,
  291. glVertexAttribI4bv,
  292. glVertexAttribI4i,
  293. glVertexAttribI4iv,
  294. glVertexAttribI4sv,
  295. glVertexAttribI4ubv,
  296. glVertexAttribI4ui,
  297. glVertexAttribI4uiv,
  298. glVertexAttribI4usv,
  299. glVertexAttribIPointer,
  300. glVertexAttribPointer,
  301. glViewport
  302. ) where
  303. import Foreign.Ptr
  304. import Foreign.C.Types
  305. import Graphics.Rendering.OpenGL.Raw.Extensions
  306. import Graphics.Rendering.OpenGL.Raw.Core31.Types
  307. #include "HsOpenGLRaw.h"
  308. extensionNameString :: String
  309. extensionNameString = "OpenGL 3.1"
  310. EXTENSION_ENTRY(glActiveTexture,GLenum -> IO ())
  311. EXTENSION_ENTRY(glAttachShader,GLuint -> GLuint -> IO ())
  312. EXTENSION_ENTRY(glBeginConditionalRender,GLuint -> GLenum -> IO ())
  313. EXTENSION_ENTRY(glBeginQuery,GLenum -> GLuint -> IO ())
  314. EXTENSION_ENTRY(glBeginTransformFeedback,GLenum -> IO ())
  315. EXTENSION_ENTRY(glBindAttribLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
  316. EXTENSION_ENTRY(glBindBuffer,GLenum -> GLuint -> IO ())
  317. EXTENSION_ENTRY(glBindFragDataLocation,GLuint -> GLuint -> Ptr GLchar -> IO ())
  318. EXTENSION_ENTRY(glBindFramebuffer,GLenum -> GLuint -> IO ())
  319. EXTENSION_ENTRY(glBindRenderbuffer,GLenum -> GLuint -> IO ())
  320. EXTENSION_ENTRY(glBindTexture,GLenum -> GLuint -> IO ())
  321. EXTENSION_ENTRY(glBindVertexArray,GLuint -> IO ())
  322. EXTENSION_ENTRY(glBlendColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
  323. EXTENSION_ENTRY(glBlendEquation,GLenum -> IO ())
  324. EXTENSION_ENTRY(glBlendEquationSeparate,GLenum -> GLenum -> IO ())
  325. EXTENSION_ENTRY(glBlendFunc,GLenum -> GLenum -> IO ())
  326. EXTENSION_ENTRY(glBlendFuncSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
  327. EXTENSION_ENTRY(glBlitFramebuffer,GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
  328. EXTENSION_ENTRY(glBufferData,GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
  329. EXTENSION_ENTRY(glBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
  330. EXTENSION_ENTRY(glCheckFramebufferStatus,GLenum -> IO GLenum)
  331. EXTENSION_ENTRY(glClampColor,GLenum -> GLenum -> IO ())
  332. EXTENSION_ENTRY(glClear,GLbitfield -> IO ())
  333. EXTENSION_ENTRY(glClearBufferfi,GLenum -> GLint -> GLfloat -> GLint -> IO ())
  334. EXTENSION_ENTRY(glClearBufferfv,GLenum -> GLint -> Ptr GLfloat -> IO ())
  335. EXTENSION_ENTRY(glClearBufferiv,GLenum -> GLint -> Ptr GLint -> IO ())
  336. EXTENSION_ENTRY(glClearBufferuiv,GLenum -> GLint -> Ptr GLuint -> IO ())
  337. EXTENSION_ENTRY(glClearColor,GLclampf -> GLclampf -> GLclampf -> GLclampf -> IO ())
  338. EXTENSION_ENTRY(glClearDepth,GLclampd -> IO ())
  339. EXTENSION_ENTRY(glClearStencil,GLint -> IO ())
  340. EXTENSION_ENTRY(glColorMask,GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
  341. EXTENSION_ENTRY(glColorMaski,GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
  342. EXTENSION_ENTRY(glCompileShader,GLuint -> IO ())
  343. EXTENSION_ENTRY(glCompressedTexImage1D,GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
  344. EXTENSION_ENTRY(glCompressedTexImage2D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
  345. EXTENSION_ENTRY(glCompressedTexImage3D,GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
  346. EXTENSION_ENTRY(glCompressedTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
  347. EXTENSION_ENTRY(glCompressedTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
  348. EXTENSION_ENTRY(glCompressedTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
  349. EXTENSION_ENTRY(glCopyTexImage1D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
  350. EXTENSION_ENTRY(glCopyTexImage2D,GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
  351. EXTENSION_ENTRY(glCopyTexSubImage1D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
  352. EXTENSION_ENTRY(glCopyTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
  353. EXTENSION_ENTRY(glCopyTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
  354. EXTENSION_ENTRY(glCreateProgram,IO GLuint)
  355. EXTENSION_ENTRY(glCreateShader,GLenum -> IO GLuint)
  356. EXTENSION_ENTRY(glCullFace,GLenum -> IO ())
  357. EXTENSION_ENTRY(glDeleteBuffers,GLsizei -> Ptr GLuint -> IO ())
  358. EXTENSION_ENTRY(glDeleteFramebuffers,GLsizei -> Ptr GLuint -> IO ())
  359. EXTENSION_ENTRY(glDeleteProgram,GLuint -> IO ())
  360. EXTENSION_ENTRY(glDeleteQueries,GLsizei -> Ptr GLuint -> IO ())
  361. EXTENSION_ENTRY(glDeleteRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
  362. EXTENSION_ENTRY(glDeleteShader,GLuint -> IO ())
  363. EXTENSION_ENTRY(glDeleteTextures,GLsizei -> Ptr GLuint -> IO ())
  364. EXTENSION_ENTRY(glDeleteVertexArrays,GLsizei -> Ptr GLuint -> IO ())
  365. EXTENSION_ENTRY(glDepthFunc,GLenum -> IO ())
  366. EXTENSION_ENTRY(glDepthMask,GLboolean -> IO ())
  367. EXTENSION_ENTRY(glDepthRange,GLclampd -> GLclampd -> IO ())
  368. EXTENSION_ENTRY(glDetachShader,GLuint -> GLuint -> IO ())
  369. EXTENSION_ENTRY(glDisable,GLenum -> IO ())
  370. EXTENSION_ENTRY(glDisableVertexAttribArray,GLuint -> IO ())
  371. EXTENSION_ENTRY(glDisablei,GLenum -> GLuint -> IO ())
  372. EXTENSION_ENTRY(glDrawArrays,GLenum -> GLint -> GLsizei -> IO ())
  373. EXTENSION_ENTRY(glDrawBuffer,GLenum -> IO ())
  374. EXTENSION_ENTRY(glDrawBuffers,GLsizei -> Ptr GLenum -> IO ())
  375. EXTENSION_ENTRY(glDrawElements,GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
  376. EXTENSION_ENTRY(glDrawRangeElements,GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
  377. EXTENSION_ENTRY(glEnable,GLenum -> IO ())
  378. EXTENSION_ENTRY(glEnableVertexAttribArray,GLuint -> IO ())
  379. EXTENSION_ENTRY(glEnablei,GLenum -> GLuint -> IO ())
  380. EXTENSION_ENTRY(glEndConditionalRender,IO ())
  381. EXTENSION_ENTRY(glEndQuery,GLenum -> IO ())
  382. EXTENSION_ENTRY(glEndTransformFeedback,IO ())
  383. EXTENSION_ENTRY(glFinish,IO ())
  384. EXTENSION_ENTRY(glFlush,IO ())
  385. EXTENSION_ENTRY(glFlushMappedBufferRange,GLenum -> GLintptr -> GLsizeiptr -> IO ())
  386. EXTENSION_ENTRY(glFramebufferRenderbuffer,GLenum -> GLenum -> GLenum -> GLuint -> IO ())
  387. EXTENSION_ENTRY(glFramebufferTexture1D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
  388. EXTENSION_ENTRY(glFramebufferTexture2D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
  389. EXTENSION_ENTRY(glFramebufferTexture3D,GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
  390. EXTENSION_ENTRY(glFramebufferTextureLayer,GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
  391. EXTENSION_ENTRY(glFrontFace,GLenum -> IO ())
  392. EXTENSION_ENTRY(glGenBuffers,GLsizei -> Ptr GLuint -> IO ())
  393. EXTENSION_ENTRY(glGenFramebuffers,GLsizei -> Ptr GLuint -> IO ())
  394. EXTENSION_ENTRY(glGenQueries,GLsizei -> Ptr GLuint -> IO ())
  395. EXTENSION_ENTRY(glGenRenderbuffers,GLsizei -> Ptr GLuint -> IO ())
  396. EXTENSION_ENTRY(glGenTextures,GLsizei -> Ptr GLuint -> IO ())
  397. EXTENSION_ENTRY(glGenVertexArrays,GLsizei -> Ptr GLuint -> IO ())
  398. EXTENSION_ENTRY(glGenerateMipmap,GLenum -> IO ())
  399. EXTENSION_ENTRY(glGetActiveAttrib,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
  400. EXTENSION_ENTRY(glGetActiveUniform,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
  401. EXTENSION_ENTRY(glGetAttachedShaders,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
  402. EXTENSION_ENTRY(glGetAttribLocation,GLuint -> Ptr GLchar -> IO GLint)
  403. EXTENSION_ENTRY(glGetBooleani_v,GLenum -> GLuint -> Ptr GLboolean -> IO ())
  404. EXTENSION_ENTRY(glGetBooleanv,GLenum -> Ptr GLboolean -> IO ())
  405. EXTENSION_ENTRY(glGetBufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
  406. EXTENSION_ENTRY(glGetBufferPointerv,GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
  407. EXTENSION_ENTRY(glGetBufferSubData,GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
  408. EXTENSION_ENTRY(glGetCompressedTexImage,GLenum -> GLint -> Ptr a -> IO ())
  409. EXTENSION_ENTRY(glGetDoublev,GLenum -> Ptr GLdouble -> IO ())
  410. EXTENSION_ENTRY(glGetError,IO GLenum)
  411. EXTENSION_ENTRY(glGetFloatv,GLenum -> Ptr GLfloat -> IO ())
  412. EXTENSION_ENTRY(glGetFragDataLocation,GLuint -> Ptr GLchar -> IO GLint)
  413. EXTENSION_ENTRY(glGetFramebufferAttachmentParameteriv,GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
  414. EXTENSION_ENTRY(glGetIntegerv,GLenum -> Ptr GLint -> IO ())
  415. EXTENSION_ENTRY(glGetPointerv,GLenum -> Ptr (Ptr a) -> IO ())
  416. EXTENSION_ENTRY(glGetProgramInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
  417. EXTENSION_ENTRY(glGetProgramiv,GLuint -> GLenum -> Ptr GLint -> IO ())
  418. EXTENSION_ENTRY(glGetQueryObjectiv,GLuint -> GLenum -> Ptr GLint -> IO ())
  419. EXTENSION_ENTRY(glGetQueryObjectuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
  420. EXTENSION_ENTRY(glGetQueryiv,GLenum -> GLenum -> Ptr GLint -> IO ())
  421. EXTENSION_ENTRY(glGetRenderbufferParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
  422. EXTENSION_ENTRY(glGetShaderInfoLog,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
  423. EXTENSION_ENTRY(glGetShaderSource,GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
  424. EXTENSION_ENTRY(glGetShaderiv,GLuint -> GLenum -> Ptr GLint -> IO ())
  425. EXTENSION_ENTRY(glGetString,GLenum -> IO (Ptr GLubyte))
  426. EXTENSION_ENTRY(glGetStringi,GLenum -> GLuint -> IO (Ptr GLubyte))
  427. EXTENSION_ENTRY(glGetTexImage,GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
  428. EXTENSION_ENTRY(glGetTexLevelParameterfv,GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
  429. EXTENSION_ENTRY(glGetTexLevelParameteriv,GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
  430. EXTENSION_ENTRY(glGetTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
  431. EXTENSION_ENTRY(glGetTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
  432. EXTENSION_ENTRY(glGetTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
  433. EXTENSION_ENTRY(glGetTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
  434. EXTENSION_ENTRY(glGetTransformFeedbackVarying,GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
  435. EXTENSION_ENTRY(glGetUniformLocation,GLuint -> Ptr GLchar -> IO GLint)
  436. EXTENSION_ENTRY(glGetUniformfv,GLuint -> GLint -> Ptr GLfloat -> IO ())
  437. EXTENSION_ENTRY(glGetUniformiv,GLuint -> GLint -> Ptr GLint -> IO ())
  438. EXTENSION_ENTRY(glGetUniformuiv,GLuint -> GLint -> Ptr GLuint -> IO ())
  439. EXTENSION_ENTRY(glGetVertexAttribIiv,GLuint -> GLenum -> Ptr GLint -> IO ())
  440. EXTENSION_ENTRY(glGetVertexAttribIuiv,GLuint -> GLenum -> Ptr GLuint -> IO ())
  441. EXTENSION_ENTRY(glGetVertexAttribPointerv,GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
  442. EXTENSION_ENTRY(glGetVertexAttribdv,GLuint -> GLenum -> Ptr GLdouble -> IO ())
  443. EXTENSION_ENTRY(glGetVertexAttribfv,GLuint -> GLenum -> Ptr GLfloat -> IO ())
  444. EXTENSION_ENTRY(glGetVertexAttribiv,GLuint -> GLenum -> Ptr GLint -> IO ())
  445. EXTENSION_ENTRY(glHint,GLenum -> GLenum -> IO ())
  446. EXTENSION_ENTRY(glIsBuffer,GLuint -> IO GLboolean)
  447. EXTENSION_ENTRY(glIsEnabled,GLenum -> IO GLboolean)
  448. EXTENSION_ENTRY(glIsEnabledi,GLenum -> GLuint -> IO GLboolean)
  449. EXTENSION_ENTRY(glIsFramebuffer,GLuint -> IO GLboolean)
  450. EXTENSION_ENTRY(glIsProgram,GLuint -> IO GLboolean)
  451. EXTENSION_ENTRY(glIsQuery,GLuint -> IO GLboolean)
  452. EXTENSION_ENTRY(glIsRenderbuffer,GLuint -> IO GLboolean)
  453. EXTENSION_ENTRY(glIsShader,GLuint -> IO GLboolean)
  454. EXTENSION_ENTRY(glIsTexture,GLuint -> IO GLboolean)
  455. EXTENSION_ENTRY(glIsVertexArray,GLuint -> IO GLboolean)
  456. EXTENSION_ENTRY(glLineWidth,GLfloat -> IO ())
  457. EXTENSION_ENTRY(glLinkProgram,GLuint -> IO ())
  458. EXTENSION_ENTRY(glLogicOp,GLenum -> IO ())
  459. EXTENSION_ENTRY(glMapBuffer,GLenum -> GLenum -> IO (Ptr a))
  460. EXTENSION_ENTRY(glMapBufferRange,GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
  461. EXTENSION_ENTRY(glMultiDrawArrays,GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
  462. EXTENSION_ENTRY(glMultiDrawElements,GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
  463. EXTENSION_ENTRY(glPixelStoref,GLenum -> GLfloat -> IO ())
  464. EXTENSION_ENTRY(glPixelStorei,GLenum -> GLint -> IO ())
  465. EXTENSION_ENTRY(glPointParameterf,GLenum -> GLfloat -> IO ())
  466. EXTENSION_ENTRY(glPointParameterfv,GLenum -> Ptr GLfloat -> IO ())
  467. EXTENSION_ENTRY(glPointParameteri,GLenum -> GLint -> IO ())
  468. EXTENSION_ENTRY(glPointParameteriv,GLenum -> Ptr GLint -> IO ())
  469. EXTENSION_ENTRY(glPointSize,GLfloat -> IO ())
  470. EXTENSION_ENTRY(glPolygonMode,GLenum -> GLenum -> IO ())
  471. EXTENSION_ENTRY(glPolygonOffset,GLfloat -> GLfloat -> IO ())
  472. EXTENSION_ENTRY(glPrimitiveRestartIndex,GLuint -> IO ())
  473. EXTENSION_ENTRY(glReadBuffer,GLenum -> IO ())
  474. EXTENSION_ENTRY(glReadPixels,GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
  475. EXTENSION_ENTRY(glRenderbufferStorage,GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
  476. EXTENSION_ENTRY(glRenderbufferStorageMultisample,GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
  477. EXTENSION_ENTRY(glSampleCoverage,GLclampf -> GLboolean -> IO ())
  478. EXTENSION_ENTRY(glScissor,GLint -> GLint -> GLsizei -> GLsizei -> IO ())
  479. EXTENSION_ENTRY(glShaderSource,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
  480. EXTENSION_ENTRY(glStencilFunc,GLenum -> GLint -> GLuint -> IO ())
  481. EXTENSION_ENTRY(glStencilFuncSeparate,GLenum -> GLenum -> GLint -> GLuint -> IO ())
  482. EXTENSION_ENTRY(glStencilMask,GLuint -> IO ())
  483. EXTENSION_ENTRY(glStencilMaskSeparate,GLenum -> GLuint -> IO ())
  484. EXTENSION_ENTRY(glStencilOp,GLenum -> GLenum -> GLenum -> IO ())
  485. EXTENSION_ENTRY(glStencilOpSeparate,GLenum -> GLenum -> GLenum -> GLenum -> IO ())
  486. EXTENSION_ENTRY(glTexImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
  487. EXTENSION_ENTRY(glTexImage2D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
  488. EXTENSION_ENTRY(glTexImage3D,GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
  489. EXTENSION_ENTRY(glTexParameterIiv,GLenum -> GLenum -> Ptr GLint -> IO ())
  490. EXTENSION_ENTRY(glTexParameterIuiv,GLenum -> GLenum -> Ptr GLuint -> IO ())
  491. EXTENSION_ENTRY(glTexParameterf,GLenum -> GLenum -> GLfloat -> IO ())
  492. EXTENSION_ENTRY(glTexParameterfv,GLenum -> GLenum -> Ptr GLfloat -> IO ())
  493. EXTENSION_ENTRY(glTexParameteri,GLenum -> GLenum -> GLint -> IO ())
  494. EXTENSION_ENTRY(glTexParameteriv,GLenum -> GLenum -> Ptr GLint -> IO ())
  495. EXTENSION_ENTRY(glTexSubImage1D,GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
  496. EXTENSION_ENTRY(glTexSubImage2D,GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
  497. EXTENSION_ENTRY(glTexSubImage3D,GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
  498. EXTENSION_ENTRY(glTransformFeedbackVaryings,GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
  499. EXTENSION_ENTRY(glUniform1f,GLint -> GLfloat -> IO ())
  500. EXTENSION_ENTRY(glUniform1fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
  501. EXTENSION_ENTRY(glUniform1i,GLint -> GLint -> IO ())
  502. EXTENSION_ENTRY(glUniform1iv,GLint -> GLsizei -> Ptr GLint -> IO ())
  503. EXTENSION_ENTRY(glUniform1ui,GLint -> GLuint -> IO ())
  504. EXTENSION_ENTRY(glUniform1uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
  505. EXTENSION_ENTRY(glUniform2f,GLint -> GLfloat -> GLfloat -> IO ())
  506. EXTENSION_ENTRY(glUniform2fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
  507. EXTENSION_ENTRY(glUniform2i,GLint -> GLint -> GLint -> IO ())
  508. EXTENSION_ENTRY(glUniform2iv,GLint -> GLsizei -> Ptr GLint -> IO ())
  509. EXTENSION_ENTRY(glUniform2ui,GLint -> GLuint -> GLuint -> IO ())
  510. EXTENSION_ENTRY(glUniform2uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
  511. EXTENSION_ENTRY(glUniform3f,GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
  512. EXTENSION_ENTRY(glUniform3fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
  513. EXTENSION_ENTRY(glUniform3i,GLint -> GLint -> GLint -> GLint -> IO ())
  514. EXTENSION_ENTRY(glUniform3iv,GLint -> GLsizei -> Ptr GLint -> IO ())
  515. EXTENSION_ENTRY(glUniform3ui,GLint -> GLuint -> GLuint -> GLuint -> IO ())
  516. EXTENSION_ENTRY(glUniform3uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
  517. EXTENSION_ENTRY(glUniform4f,GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
  518. EXTENSION_ENTRY(glUniform4fv,GLint -> GLsizei -> Ptr GLfloat -> IO ())
  519. EXTENSION_ENTRY(glUniform4i,GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
  520. EXTENSION_ENTRY(glUniform4iv,GLint -> GLsizei -> Ptr GLint -> IO ())
  521. EXTENSION_ENTRY(glUniform4ui,GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
  522. EXTENSION_ENTRY(glUniform4uiv,GLint -> GLsizei -> Ptr GLuint -> IO ())
  523. EXTENSION_ENTRY(glUniformMatrix2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  524. EXTENSION_ENTRY(glUniformMatrix2x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  525. EXTENSION_ENTRY(glUniformMatrix2x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  526. EXTENSION_ENTRY(glUniformMatrix3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  527. EXTENSION_ENTRY(glUniformMatrix3x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  528. EXTENSION_ENTRY(glUniformMatrix3x4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  529. EXTENSION_ENTRY(glUniformMatrix4fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  530. EXTENSION_ENTRY(glUniformMatrix4x2fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  531. EXTENSION_ENTRY(glUniformMatrix4x3fv,GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
  532. EXTENSION_ENTRY(glUnmapBuffer,GLenum -> IO GLboolean)
  533. EXTENSION_ENTRY(glUseProgram,GLuint -> IO ())
  534. EXTENSION_ENTRY(glValidateProgram,GLuint -> IO ())
  535. EXTENSION_ENTRY(glVertexAttrib1d,GLuint -> GLdouble -> IO ())
  536. EXTENSION_ENTRY(glVertexAttrib1dv,GLuint -> Ptr GLdouble -> IO ())
  537. EXTENSION_ENTRY(glVertexAttrib1f,GLuint -> GLfloat -> IO ())
  538. EXTENSION_ENTRY(glVertexAttrib1fv,GLuint -> Ptr GLfloat -> IO ())
  539. EXTENSION_ENTRY(glVertexAttrib1s,GLuint -> GLshort -> IO ())
  540. EXTENSION_ENTRY(glVertexAttrib1sv,GLuint -> Ptr GLshort -> IO ())
  541. EXTENSION_ENTRY(glVertexAttrib2d,GLuint -> GLdouble -> GLdouble -> IO ())
  542. EXTENSION_ENTRY(glVertexAttrib2dv,GLuint -> Ptr GLdouble -> IO ())
  543. EXTENSION_ENTRY(glVertexAttrib2f,GLuint -> GLfloat -> GLfloat -> IO ())
  544. EXTENSION_ENTRY(glVertexAttrib2fv,GLuint -> Ptr GLfloat -> IO ())
  545. EXTENSION_ENTRY(glVertexAttrib2s,GLuint -> GLshort -> GLshort -> IO ())
  546. EXTENSION_ENTRY(glVertexAttrib2sv,GLuint -> Ptr GLshort -> IO ())
  547. EXTENSION_ENTRY(glVertexAttrib3d,GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
  548. EXTENSION_ENTRY(glVertexAttrib3dv,GLuint -> Ptr GLdouble -> IO ())
  549. EXTENSION_ENTRY(glVertexAttrib3f,GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
  550. EXTENSION_ENTRY(glVertexAttrib3fv,GLuint -> Ptr GLfloat -> IO ())
  551. EXTENSION_ENTRY(glVertexAttrib3s,GLuint -> GLshort -> GLshort -> GLshort -> IO ())
  552. EXTENSION_ENTRY(glVertexAttrib3sv,GLuint -> Ptr GLshort -> IO ())
  553. EXTENSION_ENTRY(glVertexAttrib4Nbv,GLuint -> Ptr GLbyte -> IO ())
  554. EXTENSION_ENTRY(glVertexAttrib4Niv,GLuint -> Ptr GLint -> IO ())
  555. EXTENSION_ENTRY(glVertexAttrib4Nsv,GLuint -> Ptr GLshort -> IO ())
  556. EXTENSION_ENTRY(glVertexAttrib4Nub,GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
  557. EXTENSION_ENTRY(glVertexAttrib4Nubv,GLuint -> Ptr GLubyte -> IO ())
  558. EXTENSION_ENTRY(glVertexAttrib4Nuiv,GLuint -> Ptr GLuint -> IO ())
  559. EXTENSION_ENTRY(glVertexAttrib4Nusv,GLuint -> Ptr GLushort -> IO ())
  560. EXTENSION_ENTRY(glVertexAttrib4bv,GLuint -> Ptr GLbyte -> IO ())
  561. EXTENSION_ENTRY(glVertexAttrib4d,GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
  562. EXTENSION_ENTRY(glVertexAttrib4dv,GLuint -> Ptr GLdouble -> IO ())
  563. EXTENSION_ENTRY(glVertexAttrib4f,GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
  564. EXTENSION_ENTRY(glVertexAttrib4fv,GLuint -> Ptr GLfloat -> IO ())
  565. EXTENSION_ENTRY(glVertexAttrib4iv,GLuint -> Ptr GLint -> IO ())
  566. EXTENSION_ENTRY(glVertexAttrib4s,GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
  567. EXTENSION_ENTRY(glVertexAttrib4sv,GLuint -> Ptr GLshort -> IO ())
  568. EXTENSION_ENTRY(glVertexAttrib4ubv,GLuint -> Ptr GLubyte -> IO ())
  569. EXTENSION_ENTRY(glVertexAttrib4uiv,GLuint -> Ptr GLuint -> IO ())
  570. EXTENSION_ENTRY(glVertexAttrib4usv,GLuint -> Ptr GLushort -> IO ())
  571. EXTENSION_ENTRY(glVertexAttribI1i,GLuint -> GLint -> IO ())
  572. EXTENSION_ENTRY(glVertexAttribI1iv,GLuint -> Ptr GLint -> IO ())
  573. EXTENSION_ENTRY(glVertexAttribI1ui,GLuint -> GLuint -> IO ())
  574. EXTENSION_ENTRY(glVertexAttribI1uiv,GLuint -> Ptr GLuint -> IO ())
  575. EXTENSION_ENTRY(glVertexAttribI2i,GLuint -> GLint -> GLint -> IO ())
  576. EXTENSION_ENTRY(glVertexAttribI2iv,GLuint -> Ptr GLint -> IO ())
  577. EXTENSION_ENTRY(glVertexAttribI2ui,GLuint -> GLuint -> GLuint -> IO ())
  578. EXTENSION_ENTRY(glVertexAttribI2uiv,GLuint -> Ptr GLuint -> IO ())
  579. EXTENSION_ENTRY(glVertexAttribI3i,GLuint -> GLint -> GLint -> GLint -> IO ())
  580. EXTENSION_ENTRY(glVertexAttribI3iv,GLuint -> Ptr GLint -> IO ())
  581. EXTENSION_ENTRY(glVertexAttribI3ui,GLuint -> GLuint -> GLuint -> GLuint -> IO ())
  582. EXTENSION_ENTRY(glVertexAttribI3uiv,GLuint -> Ptr GLuint -> IO ())
  583. EXTENSION_ENTRY(glVertexAttribI4bv,GLuint -> Ptr GLbyte -> IO ())
  584. EXTENSION_ENTRY(glVertexAttribI4i,GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
  585. EXTENSION_ENTRY(glVertexAttribI4iv,GLuint -> Ptr GLint -> IO ())
  586. EXTENSION_ENTRY(glVertexAttribI4sv,GLuint -> Ptr GLshort -> IO ())
  587. EXTENSION_ENTRY(glVertexAttribI4ubv,GLuint -> Ptr GLubyte -> IO ())
  588. EXTENSION_ENTRY(glVertexAttribI4ui,GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
  589. EXTENSION_ENTRY(glVertexAttribI4uiv,GLuint -> Ptr GLuint -> IO ())
  590. EXTENSION_ENTRY(glVertexAttribI4usv,GLuint -> Ptr GLushort -> IO ())
  591. EXTENSION_ENTRY(glVertexAttribIPointer,GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
  592. EXTENSION_ENTRY(glVertexAttribPointer,GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
  593. EXTENSION_ENTRY(glViewport,GLint -> GLint -> GLsizei -> GLsizei -> IO ())