PageRenderTime 62ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/SDK/gfx/opengl.c

https://github.com/sopyer/Infinity
C | 604 lines | 548 code | 16 blank | 40 comment | 7 complexity | 699670b1f36656350abd1db2181f48d3 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. /* WARNING: This file was automatically generated */
  2. /* Do not edit. */
  3. #include "opengl.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. /* ---------------------- Function pointer definitions --------------------- */
  8. GLAPI glapi = {
  9. /* GL_VERSION_1_0 */
  10. /* 37 functions */
  11. "glBlendFunc",
  12. "glClear",
  13. "glClearColor",
  14. "glClearDepth",
  15. "glClearStencil",
  16. "glColorMask",
  17. "glCullFace",
  18. "glDepthFunc",
  19. "glDepthMask",
  20. "glDepthRange",
  21. "glDisable",
  22. "glDrawBuffer",
  23. "glEnable",
  24. "glFinish",
  25. "glFlush",
  26. "glFrontFace",
  27. "glGetBooleanv",
  28. "glGetDoublev",
  29. "glGetError",
  30. "glGetFloatv",
  31. "glGetIntegerv",
  32. "glGetString",
  33. "glHint",
  34. "glIsEnabled",
  35. "glLineWidth",
  36. "glLogicOp",
  37. "glPixelStoref",
  38. "glPixelStorei",
  39. "glPointSize",
  40. "glPolygonMode",
  41. "glReadBuffer",
  42. "glReadPixels",
  43. "glScissor",
  44. "glStencilFunc",
  45. "glStencilMask",
  46. "glStencilOp",
  47. "glViewport",
  48. /* GL_VERSION_1_1 */
  49. /* 5 functions */
  50. "glDeleteTextures",
  51. "glDrawArrays",
  52. "glDrawElements",
  53. "glIsTexture",
  54. "glPolygonOffset",
  55. /* GL_VERSION_1_2 */
  56. /* 1 functions */
  57. "glDrawRangeElements",
  58. /* GL_VERSION_1_3 */
  59. /* 1 functions */
  60. "glSampleCoverage",
  61. /* GL_VERSION_1_4 */
  62. /* 9 functions */
  63. "glBlendColor",
  64. "glBlendEquation",
  65. "glBlendFuncSeparate",
  66. "glMultiDrawArrays",
  67. "glMultiDrawElements",
  68. "glPointParameterf",
  69. "glPointParameterfv",
  70. "glPointParameteri",
  71. "glPointParameteriv",
  72. /* GL_VERSION_1_5 */
  73. /* 12 functions */
  74. "glBeginQuery",
  75. "glBindBuffer",
  76. "glBufferData",
  77. "glDeleteBuffers",
  78. "glDeleteQueries",
  79. "glEndQuery",
  80. "glGenQueries",
  81. "glGetQueryObjectiv",
  82. "glGetQueryObjectuiv",
  83. "glGetQueryiv",
  84. "glIsBuffer",
  85. "glIsQuery",
  86. /* GL_VERSION_2_0 */
  87. /* 37 functions */
  88. "glAttachShader",
  89. "glBindAttribLocation",
  90. "glBlendEquationSeparate",
  91. "glCompileShader",
  92. "glCreateProgram",
  93. "glCreateShader",
  94. "glDeleteProgram",
  95. "glDeleteShader",
  96. "glDetachShader",
  97. "glDisableVertexAttribArray",
  98. "glDrawBuffers",
  99. "glEnableVertexAttribArray",
  100. "glGetActiveAttrib",
  101. "glGetActiveUniform",
  102. "glGetAttachedShaders",
  103. "glGetAttribLocation",
  104. "glGetProgramInfoLog",
  105. "glGetProgramiv",
  106. "glGetShaderInfoLog",
  107. "glGetShaderSource",
  108. "glGetShaderiv",
  109. "glGetUniformLocation",
  110. "glGetUniformfv",
  111. "glGetUniformiv",
  112. "glGetVertexAttribPointerv",
  113. "glGetVertexAttribdv",
  114. "glGetVertexAttribfv",
  115. "glGetVertexAttribiv",
  116. "glIsProgram",
  117. "glIsShader",
  118. "glLinkProgram",
  119. "glShaderSource",
  120. "glStencilFuncSeparate",
  121. "glStencilMaskSeparate",
  122. "glStencilOpSeparate",
  123. "glUseProgram",
  124. "glValidateProgram",
  125. /* GL_VERSION_2_1 */
  126. /* 0 functions */
  127. /* GL_VERSION_3_0 */
  128. /* 55 functions */
  129. "glBeginConditionalRender",
  130. "glBeginTransformFeedback",
  131. "glBindBufferBase",
  132. "glBindBufferRange",
  133. "glBindFragDataLocation",
  134. "glBindFramebuffer",
  135. "glBindRenderbuffer",
  136. "glBindVertexArray",
  137. "glBlitFramebuffer",
  138. "glCheckFramebufferStatus",
  139. "glClampColor",
  140. "glClearBufferfi",
  141. "glClearBufferfv",
  142. "glClearBufferiv",
  143. "glClearBufferuiv",
  144. "glColorMaski",
  145. "glDeleteFramebuffers",
  146. "glDeleteRenderbuffers",
  147. "glDeleteVertexArrays",
  148. "glDisablei",
  149. "glEnablei",
  150. "glEndConditionalRender",
  151. "glEndTransformFeedback",
  152. "glFlushMappedBufferRange",
  153. "glFramebufferRenderbuffer",
  154. "glFramebufferTexture1D",
  155. "glFramebufferTexture2D",
  156. "glFramebufferTexture3D",
  157. "glFramebufferTextureLayer",
  158. "glGenFramebuffers",
  159. "glGenRenderbuffers",
  160. "glGenVertexArrays",
  161. "glGenerateMipmap",
  162. "glGetBooleani_v",
  163. "glGetFragDataLocation",
  164. "glGetFramebufferAttachmentParameteriv",
  165. "glGetIntegeri_v",
  166. "glGetRenderbufferParameteriv",
  167. "glGetStringi",
  168. "glGetTexParameterIiv",
  169. "glGetTexParameterIuiv",
  170. "glGetTransformFeedbackVarying",
  171. "glGetUniformuiv",
  172. "glGetVertexAttribIiv",
  173. "glGetVertexAttribIuiv",
  174. "glIsEnabledi",
  175. "glIsFramebuffer",
  176. "glIsRenderbuffer",
  177. "glIsVertexArray",
  178. "glMapBufferRange",
  179. "glRenderbufferStorage",
  180. "glRenderbufferStorageMultisample",
  181. "glTexParameterIiv",
  182. "glTexParameterIuiv",
  183. "glTransformFeedbackVaryings",
  184. /* GL_VERSION_3_1 */
  185. /* 11 functions */
  186. "glCopyBufferSubData",
  187. "glDrawArraysInstanced",
  188. "glDrawElementsInstanced",
  189. "glGetActiveUniformBlockName",
  190. "glGetActiveUniformBlockiv",
  191. "glGetActiveUniformName",
  192. "glGetActiveUniformsiv",
  193. "glGetUniformBlockIndex",
  194. "glGetUniformIndices",
  195. "glPrimitiveRestartIndex",
  196. "glUniformBlockBinding",
  197. /* GL_VERSION_3_2 */
  198. /* 17 functions */
  199. "glClientWaitSync",
  200. "glDeleteSync",
  201. "glDrawElementsBaseVertex",
  202. "glDrawElementsInstancedBaseVertex",
  203. "glDrawRangeElementsBaseVertex",
  204. "glFenceSync",
  205. "glFramebufferTexture",
  206. "glGetBufferParameteri64v",
  207. "glGetInteger64i_v",
  208. "glGetInteger64v",
  209. "glGetMultisamplefv",
  210. "glGetSynciv",
  211. "glIsSync",
  212. "glMultiDrawElementsBaseVertex",
  213. "glProvokingVertex",
  214. "glSampleMaski",
  215. "glWaitSync",
  216. /* GL_VERSION_3_3 */
  217. /* 18 functions */
  218. "glBindFragDataLocationIndexed",
  219. "glBindSampler",
  220. "glDeleteSamplers",
  221. "glGetFragDataIndex",
  222. "glGetQueryObjecti64v",
  223. "glGetQueryObjectui64v",
  224. "glGetSamplerParameterIiv",
  225. "glGetSamplerParameterIuiv",
  226. "glGetSamplerParameterfv",
  227. "glGetSamplerParameteriv",
  228. "glIsSampler",
  229. "glQueryCounter",
  230. "glSamplerParameterIiv",
  231. "glSamplerParameterIuiv",
  232. "glSamplerParameterf",
  233. "glSamplerParameterfv",
  234. "glSamplerParameteri",
  235. "glSamplerParameteriv",
  236. /* GL_VERSION_4_0 */
  237. /* 29 functions */
  238. "glBeginQueryIndexed",
  239. "glBindTransformFeedback",
  240. "glBlendEquationSeparatei",
  241. "glBlendEquationi",
  242. "glBlendFuncSeparatei",
  243. "glBlendFunci",
  244. "glDeleteTransformFeedbacks",
  245. "glDrawArraysIndirect",
  246. "glDrawElementsIndirect",
  247. "glDrawTransformFeedback",
  248. "glDrawTransformFeedbackStream",
  249. "glEndQueryIndexed",
  250. "glGenTransformFeedbacks",
  251. "glGetActiveSubroutineName",
  252. "glGetActiveSubroutineUniformName",
  253. "glGetActiveSubroutineUniformiv",
  254. "glGetProgramStageiv",
  255. "glGetQueryIndexediv",
  256. "glGetSubroutineIndex",
  257. "glGetSubroutineUniformLocation",
  258. "glGetUniformSubroutineuiv",
  259. "glGetUniformdv",
  260. "glIsTransformFeedback",
  261. "glMinSampleShading",
  262. "glPatchParameterfv",
  263. "glPatchParameteri",
  264. "glPauseTransformFeedback",
  265. "glResumeTransformFeedback",
  266. "glUniformSubroutinesuiv",
  267. /* GL_VERSION_4_1 */
  268. /* 79 functions */
  269. "glActiveShaderProgram",
  270. "glBindProgramPipeline",
  271. "glClearDepthf",
  272. "glCreateShaderProgramv",
  273. "glDeleteProgramPipelines",
  274. "glDepthRangeArrayv",
  275. "glDepthRangeIndexed",
  276. "glDepthRangef",
  277. "glGenProgramPipelines",
  278. "glGetDoublei_v",
  279. "glGetFloati_v",
  280. "glGetProgramBinary",
  281. "glGetProgramPipelineInfoLog",
  282. "glGetProgramPipelineiv",
  283. "glGetShaderPrecisionFormat",
  284. "glGetVertexAttribLdv",
  285. "glIsProgramPipeline",
  286. "glProgramBinary",
  287. "glProgramParameteri",
  288. "glProgramUniform1d",
  289. "glProgramUniform1dv",
  290. "glProgramUniform1f",
  291. "glProgramUniform1fv",
  292. "glProgramUniform1i",
  293. "glProgramUniform1iv",
  294. "glProgramUniform1ui",
  295. "glProgramUniform1uiv",
  296. "glProgramUniform2d",
  297. "glProgramUniform2dv",
  298. "glProgramUniform2f",
  299. "glProgramUniform2fv",
  300. "glProgramUniform2i",
  301. "glProgramUniform2iv",
  302. "glProgramUniform2ui",
  303. "glProgramUniform2uiv",
  304. "glProgramUniform3d",
  305. "glProgramUniform3dv",
  306. "glProgramUniform3f",
  307. "glProgramUniform3fv",
  308. "glProgramUniform3i",
  309. "glProgramUniform3iv",
  310. "glProgramUniform3ui",
  311. "glProgramUniform3uiv",
  312. "glProgramUniform4d",
  313. "glProgramUniform4dv",
  314. "glProgramUniform4f",
  315. "glProgramUniform4fv",
  316. "glProgramUniform4i",
  317. "glProgramUniform4iv",
  318. "glProgramUniform4ui",
  319. "glProgramUniform4uiv",
  320. "glProgramUniformMatrix2dv",
  321. "glProgramUniformMatrix2fv",
  322. "glProgramUniformMatrix2x3dv",
  323. "glProgramUniformMatrix2x3fv",
  324. "glProgramUniformMatrix2x4dv",
  325. "glProgramUniformMatrix2x4fv",
  326. "glProgramUniformMatrix3dv",
  327. "glProgramUniformMatrix3fv",
  328. "glProgramUniformMatrix3x2dv",
  329. "glProgramUniformMatrix3x2fv",
  330. "glProgramUniformMatrix3x4dv",
  331. "glProgramUniformMatrix3x4fv",
  332. "glProgramUniformMatrix4dv",
  333. "glProgramUniformMatrix4fv",
  334. "glProgramUniformMatrix4x2dv",
  335. "glProgramUniformMatrix4x2fv",
  336. "glProgramUniformMatrix4x3dv",
  337. "glProgramUniformMatrix4x3fv",
  338. "glReleaseShaderCompiler",
  339. "glScissorArrayv",
  340. "glScissorIndexed",
  341. "glScissorIndexedv",
  342. "glShaderBinary",
  343. "glUseProgramStages",
  344. "glValidateProgramPipeline",
  345. "glViewportArrayv",
  346. "glViewportIndexedf",
  347. "glViewportIndexedfv",
  348. /* GL_VERSION_4_2 */
  349. /* 9 functions */
  350. "glBindImageTexture",
  351. "glDrawArraysInstancedBaseInstance",
  352. "glDrawElementsInstancedBaseInstance",
  353. "glDrawElementsInstancedBaseVertexBaseInstance",
  354. "glDrawTransformFeedbackInstanced",
  355. "glDrawTransformFeedbackStreamInstanced",
  356. "glGetActiveAtomicCounterBufferiv",
  357. "glGetInternalformativ",
  358. "glMemoryBarrier",
  359. /* GL_VERSION_4_3 */
  360. /* 41 functions */
  361. "glBindVertexBuffer",
  362. "glClearBufferData",
  363. "glClearBufferSubData",
  364. "glCopyImageSubData",
  365. "glDebugMessageCallback",
  366. "glDebugMessageControl",
  367. "glDebugMessageInsert",
  368. "glDispatchCompute",
  369. "glDispatchComputeIndirect",
  370. "glFramebufferParameteri",
  371. "glGetDebugMessageLog",
  372. "glGetFramebufferParameteriv",
  373. "glGetInternalformati64v",
  374. "glGetObjectLabel",
  375. "glGetObjectPtrLabel",
  376. "glGetPointerv",
  377. "glGetProgramInterfaceiv",
  378. "glGetProgramResourceIndex",
  379. "glGetProgramResourceLocation",
  380. "glGetProgramResourceLocationIndex",
  381. "glGetProgramResourceName",
  382. "glGetProgramResourceiv",
  383. "glInvalidateBufferData",
  384. "glInvalidateBufferSubData",
  385. "glInvalidateFramebuffer",
  386. "glInvalidateSubFramebuffer",
  387. "glInvalidateTexImage",
  388. "glInvalidateTexSubImage",
  389. "glMultiDrawArraysIndirect",
  390. "glMultiDrawElementsIndirect",
  391. "glObjectLabel",
  392. "glObjectPtrLabel",
  393. "glPopDebugGroup",
  394. "glPushDebugGroup",
  395. "glShaderStorageBlockBinding",
  396. "glTextureView",
  397. "glVertexAttribBinding",
  398. "glVertexAttribFormat",
  399. "glVertexAttribIFormat",
  400. "glVertexAttribLFormat",
  401. "glVertexBindingDivisor",
  402. /* GL_VERSION_4_4 */
  403. /* 9 functions */
  404. "glBindBuffersBase",
  405. "glBindBuffersRange",
  406. "glBindImageTextures",
  407. "glBindSamplers",
  408. "glBindTextures",
  409. "glBindVertexBuffers",
  410. "glBufferStorage",
  411. "glClearTexImage",
  412. "glClearTexSubImage",
  413. /* GL_VERSION_4_5 */
  414. /* 110 functions */
  415. "glBindTextureUnit",
  416. "glBlitNamedFramebuffer",
  417. "glCheckNamedFramebufferStatus",
  418. "glClearNamedBufferData",
  419. "glClearNamedBufferSubData",
  420. "glClearNamedFramebufferfi",
  421. "glClearNamedFramebufferfv",
  422. "glClearNamedFramebufferiv",
  423. "glClearNamedFramebufferuiv",
  424. "glClipControl",
  425. "glCompressedTextureSubImage1D",
  426. "glCompressedTextureSubImage2D",
  427. "glCompressedTextureSubImage3D",
  428. "glCopyNamedBufferSubData",
  429. "glCopyTextureSubImage1D",
  430. "glCopyTextureSubImage2D",
  431. "glCopyTextureSubImage3D",
  432. "glCreateBuffers",
  433. "glCreateFramebuffers",
  434. "glCreateProgramPipelines",
  435. "glCreateQueries",
  436. "glCreateRenderbuffers",
  437. "glCreateSamplers",
  438. "glCreateTextures",
  439. "glCreateTransformFeedbacks",
  440. "glCreateVertexArrays",
  441. "glDisableVertexArrayAttrib",
  442. "glEnableVertexArrayAttrib",
  443. "glFlushMappedNamedBufferRange",
  444. "glGenerateTextureMipmap",
  445. "glGetCompressedTextureImage",
  446. "glGetCompressedTextureSubImage",
  447. "glGetGraphicsResetStatus",
  448. "glGetNamedBufferParameteri64v",
  449. "glGetNamedBufferParameteriv",
  450. "glGetNamedBufferPointerv",
  451. "glGetNamedBufferSubData",
  452. "glGetNamedFramebufferAttachmentParameteriv",
  453. "glGetNamedFramebufferParameteriv",
  454. "glGetNamedRenderbufferParameteriv",
  455. "glGetQueryBufferObjecti64v",
  456. "glGetQueryBufferObjectiv",
  457. "glGetQueryBufferObjectui64v",
  458. "glGetQueryBufferObjectuiv",
  459. "glGetTextureImage",
  460. "glGetTextureLevelParameterfv",
  461. "glGetTextureLevelParameteriv",
  462. "glGetTextureParameterIiv",
  463. "glGetTextureParameterIuiv",
  464. "glGetTextureParameterfv",
  465. "glGetTextureParameteriv",
  466. "glGetTextureSubImage",
  467. "glGetTransformFeedbacki64_v",
  468. "glGetTransformFeedbacki_v",
  469. "glGetTransformFeedbackiv",
  470. "glGetVertexArrayIndexed64iv",
  471. "glGetVertexArrayIndexediv",
  472. "glGetVertexArrayiv",
  473. "glGetnCompressedTexImage",
  474. "glGetnTexImage",
  475. "glGetnUniformdv",
  476. "glGetnUniformfv",
  477. "glGetnUniformiv",
  478. "glGetnUniformuiv",
  479. "glInvalidateNamedFramebufferData",
  480. "glInvalidateNamedFramebufferSubData",
  481. "glMapNamedBuffer",
  482. "glMapNamedBufferRange",
  483. "glMemoryBarrierByRegion",
  484. "glNamedBufferData",
  485. "glNamedBufferStorage",
  486. "glNamedBufferSubData",
  487. "glNamedFramebufferDrawBuffer",
  488. "glNamedFramebufferDrawBuffers",
  489. "glNamedFramebufferParameteri",
  490. "glNamedFramebufferReadBuffer",
  491. "glNamedFramebufferRenderbuffer",
  492. "glNamedFramebufferTexture",
  493. "glNamedFramebufferTextureLayer",
  494. "glNamedRenderbufferStorage",
  495. "glNamedRenderbufferStorageMultisample",
  496. "glReadnPixels",
  497. "glTextureBarrier",
  498. "glTextureBuffer",
  499. "glTextureBufferRange",
  500. "glTextureParameterIiv",
  501. "glTextureParameterIuiv",
  502. "glTextureParameterf",
  503. "glTextureParameterfv",
  504. "glTextureParameteri",
  505. "glTextureParameteriv",
  506. "glTextureStorage1D",
  507. "glTextureStorage2D",
  508. "glTextureStorage2DMultisample",
  509. "glTextureStorage3D",
  510. "glTextureStorage3DMultisample",
  511. "glTextureSubImage1D",
  512. "glTextureSubImage2D",
  513. "glTextureSubImage3D",
  514. "glTransformFeedbackBufferBase",
  515. "glTransformFeedbackBufferRange",
  516. "glUnmapNamedBuffer",
  517. "glVertexArrayAttribBinding",
  518. "glVertexArrayAttribFormat",
  519. "glVertexArrayAttribIFormat",
  520. "glVertexArrayAttribLFormat",
  521. "glVertexArrayBindingDivisor",
  522. "glVertexArrayElementBuffer",
  523. "glVertexArrayVertexBuffer",
  524. "glVertexArrayVertexBuffers",
  525. };
  526. /* ------------------ code from Slavomir Kaslev's gl3w ----------------- */
  527. #ifdef _WIN32
  528. #define WIN32_LEAN_AND_MEAN 1
  529. #include <windows.h>
  530. void importOpenGL(void)
  531. {
  532. uintptr_t i;
  533. HMODULE libgl;
  534. libgl = LoadLibraryA("opengl32.dll");
  535. for(i = 0 ; i < EGLAPI_COUNT; i++){
  536. PGLAPI_PROC res = wglGetProcAddress(glapi[i].n);
  537. if (!res) {res = GetProcAddress(libgl, glapi[i].n);}
  538. glapi[i].f = res;
  539. }
  540. }
  541. #elif defined(__APPLE__) || defined(__APPLE_CC__)
  542. #include <Carbon/Carbon.h>
  543. void importOpenGL(void)
  544. {
  545. uintptr_t i;
  546. CFBundleRef bundle;
  547. CFURLRef bundleURL;
  548. bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
  549. CFSTR("/System/Library/Frameworks/OpenGL.framework"),
  550. kCFURLPOSIXPathStyle, true);
  551. bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
  552. for(i = 0 ; i < EGLAPI_COUNT; i++){
  553. PGLAPI_PROC res;
  554. CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault, glapi[i].n,
  555. kCFStringEncodingASCII);
  556. glapi[i].f = CFBundleGetFunctionPointerForName(bundle, procname);
  557. CFRelease(procname);
  558. }
  559. CFRelease(bundle);
  560. CFRelease(bundleURL);
  561. }
  562. #elif defined(ANDROID)
  563. #include <EGL/egl.h>
  564. void importOpenGL(void)
  565. {
  566. uintptr_t i;
  567. for(i = 0 ; i < EGLAPI_COUNT; i++){
  568. glapi[i].f = eglGetProcAddress(glapi[i].n);
  569. }
  570. }
  571. #else
  572. #include <dlfcn.h>
  573. #include <GL/glx.h>
  574. void importOpenGL(void)
  575. {
  576. uintptr_t i;
  577. void *libgl;
  578. libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
  579. for(i = 0 ; i < EGLAPI_COUNT; i++){
  580. PGLAPI_PROC res = glXGetProcAddress((const GLubyte *) glapi[i].n);
  581. if (!res) {res = dlsym(libgl, glapi[i].n);}
  582. glapi[i].f = res;
  583. }
  584. }
  585. #endif
  586. #ifdef __cplusplus
  587. }
  588. #endif