You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(2) |
2
(8) |
3
(4) |
4
(6) |
5
(1) |
6
|
|
7
(8) |
8
|
9
(11) |
10
(5) |
11
(1) |
12
|
13
|
|
14
|
15
|
16
(3) |
17
(1) |
18
|
19
|
20
|
|
21
(1) |
22
(1) |
23
(2) |
24
|
25
(1) |
26
(11) |
27
|
|
28
(5) |
29
(5) |
30
(7) |
|
|
|
|
|
From: Elias N. <eli...@us...> - 2003-09-22 08:32:26
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common In directory sc8-pr-cvs1:/tmp/cvs-serv29330/common Modified Files: extgl.c Log Message: LWJGL now ignores OpenGL extensions with missing symbols Index: extgl.c CVS Browser: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/java-game-lib/LWJGL/src/native/common/extgl.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/extgl.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- extgl.c 21 Sep 2003 07:43:02 -0000 1.21 +++ extgl.c 22 Sep 2003 08:31:51 -0000 1.22 @@ -1363,6 +1363,12 @@ CFBundleRef gBundleRefOpenGL = NULL; #endif +#define EXTGL_SANITY_CHECK(x) if (extgl_error != 0) { \ + extgl_Extensions.x = 0; \ + printf("NOTICE: %s disabled because of missing driver symbols\n", #x); \ + extgl_error = 0; \ + } + #ifdef _AGL // ------------------------- OSStatus aglInitEntryPoints (void) @@ -1743,6 +1749,7 @@ glGetProgramivARB = (glGetProgramivARBPROC) extgl_GetProcAddress("glGetProgramivARB"); glGetProgramStringARB = (glGetProgramStringARBPROC) extgl_GetProcAddress("glGetProgramStringARB"); glIsProgramARB = (glIsProgramARBPROC) extgl_GetProcAddress("glIsProgramARB"); + EXTGL_SANITY_CHECK(ARB_fragment_program) #endif } @@ -1753,6 +1760,7 @@ return; glPrimitiveRestartNV = (glPrimitiveRestartNVPROC) extgl_GetProcAddress("glPrimitiveRestartNV"); glPrimitiveRestartIndexNV = (glPrimitiveRestartIndexNVPROC) extgl_GetProcAddress("glPrimitiveRestartIndexNV"); + EXTGL_SANITY_CHECK(NV_primitive_restart) #endif /* GL_NV_primitive_restart */ } @@ -1775,6 +1783,7 @@ glGetProgramLocalParameterdvARB = (glGetProgramLocalParameterdvARBPROC) extgl_GetProcAddress("glGetProgramLocalParameterdvARB"); glGetProgramLocalParameterfvARB = (glGetProgramLocalParameterfvARBPROC) extgl_GetProcAddress("glGetProgramLocalParameterfvARB"); #endif /* GL_ARB_vertex_program */ + EXTGL_SANITY_CHECK(NV_fragment_program) #endif /* GL_NV_fragment_program */ } @@ -1788,6 +1797,7 @@ glDrawRangeElementArrayNV = (glDrawRangeElementArrayNVPROC) extgl_GetProcAddress("glDrawRangeElementArrayNV"); glMultiDrawElementArrayNV = (glMultiDrawElementArrayNVPROC) extgl_GetProcAddress("glMultiDrawElementArrayNV"); glMultiDrawRangeElementArrayNV = (glMultiDrawRangeElementArrayNVPROC) extgl_GetProcAddress("glMultiDrawRangeElementArrayNV"); + EXTGL_SANITY_CHECK(NV_element_array) #endif } @@ -1798,6 +1808,7 @@ if (!extgl_Extensions.EXT_blend_func_separate) return; glBlendFuncSeparateEXT = (glBlendFuncSeparateEXTPROC) extgl_GetProcAddress("glBlendFuncSeparateEXT"); + EXTGL_SANITY_CHECK(EXT_blend_func_separate) #endif } @@ -1808,6 +1819,7 @@ return; glCullParameterfvEXT = (glCullParameterfvEXTPROC) extgl_GetProcAddress("glCullParameterfvEXT"); glCullParameterdvEXT = (glCullParameterdvEXTPROC) extgl_GetProcAddress("glCullParameterdvEXT"); + EXTGL_SANITY_CHECK(EXT_cull_vertex) #endif } @@ -1827,6 +1839,7 @@ glUnmapBufferARB = (glUnmapBufferARBPROC) extgl_GetProcAddress("glUnmapBufferARB"); glGetBufferParameterivARB = (glGetBufferParameterivARBPROC) extgl_GetProcAddress("glGetBufferParameterivARB"); glGetBufferPointervARB = (glGetBufferPointervARBPROC) extgl_GetProcAddress("glGetBufferPointervARB"); + EXTGL_SANITY_CHECK(ARB_vertex_buffer_object) #endif } @@ -1897,6 +1910,7 @@ glGetVertexAttribivARB = (glGetVertexAttribivARBPROC) extgl_GetProcAddress("glGetVertexAttribivARB"); glGetVertexAttribPointervARB = (glGetVertexAttribPointervARBPROC) extgl_GetProcAddress("glGetVertexAttribPointervARB"); glIsProgramARB = (glIsProgramARBPROC) extgl_GetProcAddress("glIsProgramARB"); + EXTGL_SANITY_CHECK(ARB_vertex_program) #endif } @@ -1906,6 +1920,7 @@ if (!extgl_Extensions.EXT_stencil_two_side) return; glActiveStencilFaceEXT = (glActiveStencilFaceEXTPROC) extgl_GetProcAddress("glActiveStencilFaceEXT"); + EXTGL_SANITY_CHECK(EXT_stencil_two_side) #endif } @@ -1930,6 +1945,7 @@ glWindowPos3fvARB = (glWindowPos3fvARBPROC) extgl_GetProcAddress("glWindowPos3fvARB"); glWindowPos3ivARB = (glWindowPos3ivARBPROC) extgl_GetProcAddress("glWindowPos3ivARB"); glWindowPos3svARB = (glWindowPos3svARBPROC) extgl_GetProcAddress("glWindowPos3svARB"); + EXTGL_SANITY_CHECK(ARB_window_pos) #endif } @@ -1945,6 +1961,7 @@ glCompressedTexSubImage2DARB = (glCompressedTexSubImage2DARBPROC) extgl_GetProcAddress("glCompressedTexSubImage2DARB"); glCompressedTexSubImage1DARB = (glCompressedTexSubImage1DARBPROC) extgl_GetProcAddress("glCompressedTexSubImage1DARB"); glGetCompressedTexImageARB = (glGetCompressedTexImageARBPROC) extgl_GetProcAddress("glGetCompressedTexImageARB"); + EXTGL_SANITY_CHECK(ARB_texture_compression) #endif } @@ -1955,6 +1972,7 @@ return; glPointParameteriNV = (glPointParameteriNVPROC) extgl_GetProcAddress("glPointParameteriNV"); glPointParameterivNV = (glPointParameterivNVPROC) extgl_GetProcAddress("glPointParameterivNV"); + EXTGL_SANITY_CHECK(NV_point_sprite) #endif } @@ -1970,6 +1988,7 @@ glEndOcclusionQueryNV = (glEndOcclusionQueryNVPROC) extgl_GetProcAddress("glEndOcclusionQueryNV"); glGetOcclusionQueryivNV = (glGetOcclusionQueryivNVPROC) extgl_GetProcAddress("glGetOcclusionQueryivNV"); glGetOcclusionQueryuivNV = (glGetOcclusionQueryuivNVPROC) extgl_GetProcAddress("glGetOcclusionQueryuivNV"); + EXTGL_SANITY_CHECK(NV_occlusion_query) #endif } @@ -1990,6 +2009,7 @@ glVariantArrayObjectATI = (glVariantArrayObjectATIPROC) extgl_GetProcAddress("glVariantArrayObjectATI"); glGetVariantArrayObjectfvATI = (glGetVariantArrayObjectfvATIPROC) extgl_GetProcAddress("glGetVariantArrayObjectfvATI"); glGetVariantArrayObjectivATI = (glGetVariantArrayObjectivATIPROC) extgl_GetProcAddress("glGetVariantArrayObjectivATI"); + EXTGL_SANITY_CHECK(ATI_vertex_array_object) #endif } @@ -2035,6 +2055,7 @@ glNormalStream3fvATI = (glNormalStream3fvATIPROC) extgl_GetProcAddress("glNormalStream3fvATI"); glNormalStream3dATI = (glNormalStream3dATIPROC) extgl_GetProcAddress("glNormalStream3dATI"); glNormalStream3dvATI = (glNormalStream3dvATIPROC) extgl_GetProcAddress("glNormalStream3dvATI"); + EXTGL_SANITY_CHECK(ATI_vertex_streams) #endif } @@ -2046,6 +2067,7 @@ glElementPointerATI = (glElementPointerATIPROC) extgl_GetProcAddress("glElementPointerATI"); glDrawElementArrayATI = (glDrawElementArrayATIPROC) extgl_GetProcAddress("glDrawElementArrayATI"); glDrawRangeElementArrayATI = (glDrawRangeElementArrayATIPROC) extgl_GetProcAddress("glDrawRangeElementArrayATI"); + EXTGL_SANITY_CHECK(ATI_element_array) #endif } @@ -2068,6 +2090,7 @@ glAlphaFragmentOp2ATI = (glAlphaFragmentOp2ATIPROC) extgl_GetProcAddress("glAlphaFragmentOp2ATI"); glAlphaFragmentOp3ATI = (glAlphaFragmentOp3ATIPROC) extgl_GetProcAddress("glAlphaFragmentOp3ATI"); glSetFragmentShaderConstantATI = (glSetFragmentShaderConstantATIPROC) extgl_GetProcAddress("glSetFragmentShaderConstantATI"); + EXTGL_SANITY_CHECK(ATI_fragment_shader) #endif } @@ -2081,6 +2104,7 @@ glTexBumpParameterfvATI = (glTexBumpParameterfvATIPROC) extgl_GetProcAddress("glTexBumpParameterfvATI"); glGetTexBumpParameterivATI = (glGetTexBumpParameterivATIPROC) extgl_GetProcAddress("glGetTexBumpParameterivATI"); glGetTexBumpParameterfvATI = (glGetTexBumpParameterfvATIPROC) extgl_GetProcAddress("glGetTexBumpParameterfvATI"); + EXTGL_SANITY_CHECK(ATI_envmap_bumpmap) #endif } @@ -2131,6 +2155,7 @@ glGetLocalConstantBooleanvEXT = (glGetLocalConstantBooleanvEXTPROC) extgl_GetProcAddress("glGetLocalConstantBooleanvEXT"); glGetLocalConstantIntegervEXT = (glGetLocalConstantIntegervEXTPROC) extgl_GetProcAddress("glGetLocalConstantIntegervEXT"); glGetLocalConstantFloatvEXT = (glGetLocalConstantFloatvEXTPROC) extgl_GetProcAddress("glGetLocalConstantFloatvEXT"); + EXTGL_SANITY_CHECK(EXT_vertex_shader) #endif } @@ -2144,6 +2169,7 @@ glMatrixIndexusvARB = (glMatrixIndexusvARBPROC) extgl_GetProcAddress("glMatrixIndexusvARB"); glMatrixIndexuivARB = (glMatrixIndexuivARBPROC) extgl_GetProcAddress("glMatrixIndexuivARB"); glMatrixIndexPointerARB = (glMatrixIndexPointerARBPROC) extgl_GetProcAddress("glMatrixIndexPointerARB"); + EXTGL_SANITY_CHECK(ARB_matrix_palette) #endif } @@ -2154,6 +2180,7 @@ return; glMultiDrawArraysEXT = (glMultiDrawArraysEXTPROC) extgl_GetProcAddress("glMultiDrawArraysEXT"); glMultiDrawElementsEXT = (glMultiDrawElementsEXTPROC) extgl_GetProcAddress("glMultiDrawElementsEXT"); + EXTGL_SANITY_CHECK(EXT_multi_draw_arrays) #endif } @@ -2172,6 +2199,7 @@ glWeightuivARB = (glWeightuivARBPROC) extgl_GetProcAddress("glWeightuivARB"); glWeightPointerARB = (glWeightPointerARBPROC) extgl_GetProcAddress("glWeightPointerARB"); glVertexBlendARB = (glVertexBlendARBPROC) extgl_GetProcAddress("glVertexBlendARB"); + EXTGL_SANITY_CHECK(ARB_vertex_blend) #endif } @@ -2182,6 +2210,7 @@ return; glPointParameterfARB = (glPointParameterfARBPROC) extgl_GetProcAddress("glPointParameterfARB"); glPointParameterfvARB = (glPointParameterfvARBPROC) extgl_GetProcAddress("glPointParameterfvARB"); + EXTGL_SANITY_CHECK(ARB_point_parameters) #endif } @@ -2192,6 +2221,7 @@ return; glPNTrianglesiATI = (glPNTrianglesiATIPROC) extgl_GetProcAddress("glPNTrianglesiATI"); glPNTrianglesfATI = (glPNTrianglesfATIPROC) extgl_GetProcAddress("glPNTrianglesfATI"); + EXTGL_SANITY_CHECK(ATI_pn_triangles) #endif } @@ -2202,6 +2232,7 @@ return; glStencilOpSeparateATI = (glStencilOpSeparateATIPROC)extgl_GetProcAddress("glStencilOpSeparateATI"); glStencilFuncSeparateATI = (glStencilFuncSeparateATIPROC)extgl_GetProcAddress("glStencilFuncSeparateATI"); + EXTGL_SANITY_CHECK(ATI_separate_stencil) #endif } @@ -2219,6 +2250,7 @@ glGetMapAttribParameterivNV = (glGetMapAttribParameterivNVPROC) extgl_GetProcAddress("glGetMapAttribParameterivNV"); glGetMapAttribParameterfvNV = (glGetMapAttribParameterfvNVPROC) extgl_GetProcAddress("glGetMapAttribParameterfvNV"); glEvalMapsNV = (glEvalMapsNVPROC) extgl_GetProcAddress("glEvalMapsNV"); + EXTGL_SANITY_CHECK(NV_evaluators) #endif } @@ -2229,6 +2261,7 @@ return; glCombinerStageParameterfvNV = (glCombinerStageParameterfvNVPROC) extgl_GetProcAddress("glCombinerStageParameterfvNV"); glGetCombinerStageParameterfvNV = (glGetCombinerStageParameterfvNVPROC) extgl_GetProcAddress("glGetCombinerStageParameterfvNV"); + EXTGL_SANITY_CHECK(NV_register_combiners2) #endif } @@ -2244,6 +2277,7 @@ glFinishFenceNV = (glFinishFenceNVPROC) extgl_GetProcAddress("glFinishFenceNV"); glIsFenceNV = (glIsFenceNVPROC) extgl_GetProcAddress("glIsFenceNV"); glGetFenceivNV = (glGetFenceivNVPROC) extgl_GetProcAddress("glGetFenceivNV"); + EXTGL_SANITY_CHECK(NV_fence) #endif } @@ -2316,6 +2350,7 @@ glVertexAttribs4fvNV = (glVertexAttribs4fvNVPROC) extgl_GetProcAddress("glVertexAttribs4fvNV"); glVertexAttribs4dvNV = (glVertexAttribs4dvNVPROC) extgl_GetProcAddress("glVertexAttribs4dvNV"); glVertexAttribs4ubvNV = (glVertexAttribs4ubvNVPROC) extgl_GetProcAddress("glVertexAttribs4ubvNV"); + EXTGL_SANITY_CHECK(NV_vertex_program) #endif } @@ -2327,6 +2362,7 @@ glVertexWeightfEXT = (glVertexWeightfEXTPROC) extgl_GetProcAddress("glVertexWeightfEXT"); glVertexWeightfvEXT = (glVertexWeightfvEXTPROC) extgl_GetProcAddress("glVertexWeightfvEXT"); glVertexWeightPointerEXT = (glVertexWeightPointerEXTPROC) extgl_GetProcAddress("glVertexWeightPointerEXT"); + EXTGL_SANITY_CHECK(EXT_vertex_weighting) #endif } @@ -2336,6 +2372,7 @@ if (!extgl_Extensions.ARB_multisample) return; glSampleCoverageARB = (glSampleCoverageARBPROC) extgl_GetProcAddress("glSampleCoverageARB"); + EXTGL_SANITY_CHECK(ARB_multisample) #endif } @@ -2357,6 +2394,7 @@ glGetCombinerOutputParameterivNV = (glGetCombinerOutputParameterivNVPROC) extgl_GetProcAddress("glGetCombinerOutputParameterivNV"); glGetFinalCombinerInputParameterfvNV = (glGetFinalCombinerInputParameterfvNVPROC) extgl_GetProcAddress("glGetFinalCombinerInputParameterfvNV"); glGetFinalCombinerInputParameterivNV = (glGetFinalCombinerInputParameterivNVPROC) extgl_GetProcAddress("glGetFinalCombinerInputParameterivNV"); + EXTGL_SANITY_CHECK(NV_register_combiners) #endif } @@ -2367,6 +2405,7 @@ return; glPointParameterfEXT = (glPointParameterfEXTPROC) extgl_GetProcAddress("glPointParameterfEXT"); glPointParameterfvEXT = (glPointParameterfvEXTPROC) extgl_GetProcAddress("glPointParameterfvEXT"); + EXTGL_SANITY_CHECK(EXT_point_parameters) #endif } @@ -2385,6 +2424,7 @@ glXAllocateMemoryNV = (glXAllocateMemoryNVPROC) extgl_GetProcAddress("glXAllocateMemoryNV"); glXFreeMemoryNV = (glXFreeMemoryNVPROC) extgl_GetProcAddress("glXFreeMemoryNV"); #endif /* X11 */ + EXTGL_SANITY_CHECK(NV_vertex_array_range) #endif } @@ -2398,6 +2438,7 @@ glFogCoorddEXT = (glFogCoorddEXTPROC) extgl_GetProcAddress("glFogCoorddEXT"); glFogCoorddvEXT = (glFogCoorddvEXTPROC) extgl_GetProcAddress("glFogCoorddvEXT"); glFogCoordPointerEXT = (glFogCoordPointerEXTPROC) extgl_GetProcAddress("glFogCoordPointerEXT"); + EXTGL_SANITY_CHECK(EXT_fog_coord) #endif } @@ -2423,6 +2464,7 @@ glSecondaryColor3usEXT = (glSecondaryColor3usEXTPROC) extgl_GetProcAddress("glSecondaryColor3usEXT"); glSecondaryColor3usvEXT = (glSecondaryColor3usvEXTPROC) extgl_GetProcAddress("glSecondaryColor3usvEXT"); glSecondaryColorPointerEXT = (glSecondaryColorPointerEXTPROC) extgl_GetProcAddress("glSecondaryColorPointerEXT"); + EXTGL_SANITY_CHECK(EXT_secondary_color) #endif } @@ -2433,6 +2475,7 @@ return; glLockArraysEXT = (glLockArraysEXTPROC) extgl_GetProcAddress("glLockArraysEXT"); glUnlockArraysEXT = (glUnlockArraysEXTPROC) extgl_GetProcAddress("glUnlockArraysEXT"); + EXTGL_SANITY_CHECK(EXT_compiled_vertex_array) #endif } @@ -2445,6 +2488,7 @@ glLoadTransposeMatrixdARB = (glLoadTransposeMatrixdARBPROC) extgl_GetProcAddress("glLoadTransposeMatrixdARB"); glMultTransposeMatrixfARB = (glMultTransposeMatrixfARBPROC) extgl_GetProcAddress("glMultTransposeMatrixfARB"); glMultTransposeMatrixdARB = (glMultTransposeMatrixdARBPROC) extgl_GetProcAddress("glMultTransposeMatrixdARB"); + EXTGL_SANITY_CHECK(ARB_transpose_matrix) #endif } @@ -2454,6 +2498,7 @@ if (!extgl_Extensions.EXT_draw_range_elements) return; glDrawRangeElementsEXT = (glDrawRangeElementsEXTPROC) extgl_GetProcAddress("glDrawRangeElementsEXT"); + EXTGL_SANITY_CHECK(EXT_draw_range_elements) #endif } @@ -2500,10 +2545,11 @@ glMultiTexCoord4ivARB = (glMultiTexCoord4ivARBPROC) extgl_GetProcAddress("glMultiTexCoord4ivARB"); glMultiTexCoord4sARB = (glMultiTexCoord4sARBPROC) extgl_GetProcAddress("glMultiTexCoord4sARB"); glMultiTexCoord4svARB = (glMultiTexCoord4svARBPROC) extgl_GetProcAddress("glMultiTexCoord4svARB"); + EXTGL_SANITY_CHECK(ARB_multitexture) #endif /* GL_ARB_multitexture */ } -int extgl_InitGLU12(void) +static void extgl_InitGLU12(void) { gluBeginCurve = (gluBeginCurvePROC) extgl_GetProcAddress("gluBeginCurve"); gluBeginPolygon = (gluBeginPolygonPROC) extgl_GetProcAddress("gluBeginPolygon"); @@ -2556,13 +2602,12 @@ gluTessProperty = (gluTessPropertyPROC) extgl_GetProcAddress("gluTessProperty"); gluTessVertex = (gluTessVertexPROC) extgl_GetProcAddress("gluTessVertex"); gluUnProject = (gluUnProjectPROC) extgl_GetProcAddress("gluUnProject"); - return extgl_error; } -int extgl_InitGLU13(void) +static void extgl_InitGLU13(void) { if (extgl_Extensions.glu.GLU13 != 1) - return extgl_error; + return; gluUnProject4 = (gluUnProject4PROC) extgl_GetProcAddress("gluUnProject4"); gluBuild1DMipmapLevels = (gluBuild1DMipmapLevelsPROC) extgl_GetProcAddress("gluBuild1DMipmapLevels"); gluBuild2DMipmapLevels = (gluBuild2DMipmapLevelsPROC) extgl_GetProcAddress("gluBuild2DMipmapLevels"); @@ -2570,23 +2615,22 @@ gluBuild3DMipmaps = (gluBuild3DMipmapsPROC) extgl_GetProcAddress("gluBuild3DMipmaps"); gluNurbsCallbackData = (gluNurbsCallbackDataPROC) extgl_GetProcAddress("gluNurbsCallbackData"); gluCheckExtension = (gluCheckExtensionPROC) extgl_GetProcAddress("gluCheckExtension"); - return extgl_error; + EXTGL_SANITY_CHECK(glu.GLU13) } -int extgl_InitEXTNurbsTesselator(void) +static void extgl_InitEXTNurbsTesselator(void) { if (!extgl_Extensions.glu.EXT_nurbs_tessellator) - return 1; + return; gluNurbsCallbackDataEXT = (gluNurbsCallbackDataEXTPROC) extgl_GetProcAddress("gluNurbsCallbackDataEXT"); - - return 0; + EXTGL_SANITY_CHECK(glu.EXT_nurbs_tessellator) } #ifdef _X11 -int extgl_InitGLX13(void) +static void extgl_InitGLX13(void) { - if (extgl_Extensions.glx.GLX13 == 0) - return extgl_error; + if (extgl_Extensions.glx.GLX13 != 1) + return; glXGetFBConfigs = (glXGetFBConfigsPROC) extgl_GetProcAddress("glXGetFBConfigs"); glXChooseFBConfig = (glXChooseFBConfigPROC) extgl_GetProcAddress("glXChooseFBConfig"); glXGetFBConfigAttrib = (glXGetFBConfigAttribPROC) extgl_GetProcAddress("glXGetFBConfigAttrib"); @@ -2605,10 +2649,10 @@ glXQueryContext = (glXQueryContextPROC) extgl_GetProcAddress("glXQueryContext"); glXSelectEvent = (glXSelectEventPROC) extgl_GetProcAddress("glXSelectEvent"); glXGetSelectedEvent = (glXGetSelectedEventPROC) extgl_GetProcAddress("glXGetSelectedEvent"); - return extgl_error; + EXTGL_SANITY_CHECK(glx.GLX13) } -int extgl_InitGLX12(void) +static int extgl_InitGLX12(void) { glXChooseVisual = (glXChooseVisualPROC) extgl_GetProcAddress("glXChooseVisual"); glXCopyContext = (glXCopyContextPROC) extgl_GetProcAddress("glXCopyContext"); @@ -2654,8 +2698,7 @@ return 1; if (major > 1 || (major == 1 && minor >= 3)) extgl_Extensions.glx.GLX13 = 1; - if (extgl_InitGLX13() != 0) - return 1; + extgl_InitGLX13(); return 0; } #endif @@ -3010,6 +3053,7 @@ glTexSubImage3D = (glTexSubImage3DPROC) extgl_GetProcAddress("glTexSubImage3D"); glCopyTexSubImage3D = (glCopyTexSubImage3DPROC) extgl_GetProcAddress("glCopyTexSubImage3D"); glDrawRangeElements = (glDrawRangeElementsPROC) extgl_GetProcAddress("glDrawRangeElements"); + EXTGL_SANITY_CHECK(OpenGL12) #endif /* GL_VERSION_1_2 */ } @@ -3052,6 +3096,7 @@ glMinmax = (glMinmaxPROC) extgl_GetProcAddress("glMinmax"); glResetHistogram = (glResetHistogramPROC) extgl_GetProcAddress("glResetHistogram"); glResetMinmax = (glResetMinmaxPROC) extgl_GetProcAddress("glResetMinmax"); + EXTGL_SANITY_CHECK(ARB_imaging) #endif /* GL_ARB_imaging */ } @@ -3112,6 +3157,7 @@ glGetCompressedTexImage = (glGetCompressedTexImagePROC) extgl_GetProcAddress("glGetCompressedTexImage"); glSampleCoverage = (glSampleCoveragePROC) extgl_GetProcAddress("glSampleCoverage"); + EXTGL_SANITY_CHECK(OpenGL13) #endif /* GL_VERSION_1_3 */ } @@ -3165,6 +3211,7 @@ glWindowPos3fv = (glWindowPos3fvPROC) extgl_GetProcAddress("glWindowPos3fv"); glWindowPos3iv = (glWindowPos3ivPROC) extgl_GetProcAddress("glWindowPos3iv"); glWindowPos3sv = (glWindowPos3svPROC) extgl_GetProcAddress("glWindowPos3sv"); + EXTGL_SANITY_CHECK(OpenGL14) #endif /* GL_VERSION_1_4 */ } @@ -3318,11 +3365,14 @@ int extgl_Initialize() { extgl_error = 0; + extgl_InitOpenGL1_1(); extgl_InitGLU12(); - extgl_InitGLU13(); - extgl_InitSupportedExtensions(); + if (extgl_error != 0) + return extgl_error; + extgl_InitGLUSupportedExtensions(); + extgl_InitSupportedExtensions(); extgl_InitEXTNurbsTesselator(); @@ -3374,6 +3424,8 @@ extgl_InitOpenGL1_3(); extgl_InitOpenGL1_4(); + extgl_InitGLU13(); + #ifdef _WIN32 /* load WGL extensions */ extgl_InitializeWGL(); @@ -3383,7 +3435,7 @@ /* load AGL extensions */ extgl_InitializeAGL(); #endif - return extgl_error; + return 0; } #ifdef _X11 |