/* ** The OpenGL Extension Wrangler Library ** Copyright (C) 2002-2008, Milan Ikits ** Copyright (C) 2002-2008, Marcelo E. Magallon ** Copyright (C) 2002, Lev Povalahev ** All rights reserved. ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are met: ** ** * Redistributions of source code must retain the above copyright notice, ** this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright notice, ** this list of conditions and the following disclaimer in the documentation ** and/or other materials provided with the distribution. ** * The name of the author may be used to endorse or promote products ** derived from this software without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF ** THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #if defined(_WIN32) #include #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) #include #endif static FILE* f; #ifdef GLEW_MX GLEWContext _glewctx; #define glewGetContext() (&_glewctx) #ifdef _WIN32 WGLEWContext _wglewctx; #define wglewGetContext() (&_wglewctx) #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) GLXEWContext _glxewctx; #define glxewGetContext() (&_glxewctx) #endif #endif #if defined(_WIN32) GLboolean glewCreateContext (int* pixelformat); #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) GLboolean glewCreateContext (const char* display, int* visual); #else GLboolean glewCreateContext (); #endif #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual); #endif void glewDestroyContext (); /* ------------------------------------------------------------------------- */ static void glewPrintExt (const char* name, GLboolean def1, GLboolean def2, GLboolean def3) { unsigned int i; fprintf(f, "\n%s:", name); for (i=0; i<62-strlen(name); i++) fprintf(f, " "); fprintf(f, "%s ", def1 ? "OK" : "MISSING"); if (def1 != def2) fprintf(f, "[%s] ", def2 ? "OK" : "MISSING"); if (def1 != def3) fprintf(f, "[%s]\n", def3 ? "OK" : "MISSING"); else fprintf(f, "\n"); for (i=0; i= 199901L) #include static void _glewInfo_GLX_OML_sync_control (void) { glewPrintExt("GLX_OML_sync_control", GLXEW_OML_sync_control, glxewIsSupported("GLX_OML_sync_control"), glxewGetExtension("GLX_OML_sync_control")); glewInfoFunc("glXGetMscRateOML", glXGetMscRateOML == NULL); glewInfoFunc("glXGetSyncValuesOML", glXGetSyncValuesOML == NULL); glewInfoFunc("glXSwapBuffersMscOML", glXSwapBuffersMscOML == NULL); glewInfoFunc("glXWaitForMscOML", glXWaitForMscOML == NULL); glewInfoFunc("glXWaitForSbcOML", glXWaitForSbcOML == NULL); } #endif /* GLX_OML_sync_control */ #ifdef GLX_SGIS_blended_overlay static void _glewInfo_GLX_SGIS_blended_overlay (void) { glewPrintExt("GLX_SGIS_blended_overlay", GLXEW_SGIS_blended_overlay, glxewIsSupported("GLX_SGIS_blended_overlay"), glxewGetExtension("GLX_SGIS_blended_overlay")); } #endif /* GLX_SGIS_blended_overlay */ #ifdef GLX_SGIS_color_range static void _glewInfo_GLX_SGIS_color_range (void) { glewPrintExt("GLX_SGIS_color_range", GLXEW_SGIS_color_range, glxewIsSupported("GLX_SGIS_color_range"), glxewGetExtension("GLX_SGIS_color_range")); } #endif /* GLX_SGIS_color_range */ #ifdef GLX_SGIS_multisample static void _glewInfo_GLX_SGIS_multisample (void) { glewPrintExt("GLX_SGIS_multisample", GLXEW_SGIS_multisample, glxewIsSupported("GLX_SGIS_multisample"), glxewGetExtension("GLX_SGIS_multisample")); } #endif /* GLX_SGIS_multisample */ #ifdef GLX_SGIS_shared_multisample static void _glewInfo_GLX_SGIS_shared_multisample (void) { glewPrintExt("GLX_SGIS_shared_multisample", GLXEW_SGIS_shared_multisample, glxewIsSupported("GLX_SGIS_shared_multisample"), glxewGetExtension("GLX_SGIS_shared_multisample")); } #endif /* GLX_SGIS_shared_multisample */ #ifdef GLX_SGIX_fbconfig static void _glewInfo_GLX_SGIX_fbconfig (void) { glewPrintExt("GLX_SGIX_fbconfig", GLXEW_SGIX_fbconfig, glxewIsSupported("GLX_SGIX_fbconfig"), glxewGetExtension("GLX_SGIX_fbconfig")); glewInfoFunc("glXChooseFBConfigSGIX", glXChooseFBConfigSGIX == NULL); glewInfoFunc("glXCreateContextWithConfigSGIX", glXCreateContextWithConfigSGIX == NULL); glewInfoFunc("glXCreateGLXPixmapWithConfigSGIX", glXCreateGLXPixmapWithConfigSGIX == NULL); glewInfoFunc("glXGetFBConfigAttribSGIX", glXGetFBConfigAttribSGIX == NULL); glewInfoFunc("glXGetFBConfigFromVisualSGIX", glXGetFBConfigFromVisualSGIX == NULL); glewInfoFunc("glXGetVisualFromFBConfigSGIX", glXGetVisualFromFBConfigSGIX == NULL); } #endif /* GLX_SGIX_fbconfig */ #ifdef GLX_SGIX_hyperpipe static void _glewInfo_GLX_SGIX_hyperpipe (void) { glewPrintExt("GLX_SGIX_hyperpipe", GLXEW_SGIX_hyperpipe, glxewIsSupported("GLX_SGIX_hyperpipe"), glxewGetExtension("GLX_SGIX_hyperpipe")); glewInfoFunc("glXBindHyperpipeSGIX", glXBindHyperpipeSGIX == NULL); glewInfoFunc("glXDestroyHyperpipeConfigSGIX", glXDestroyHyperpipeConfigSGIX == NULL); glewInfoFunc("glXHyperpipeAttribSGIX", glXHyperpipeAttribSGIX == NULL); glewInfoFunc("glXHyperpipeConfigSGIX", glXHyperpipeConfigSGIX == NULL); glewInfoFunc("glXQueryHyperpipeAttribSGIX", glXQueryHyperpipeAttribSGIX == NULL); glewInfoFunc("glXQueryHyperpipeBestAttribSGIX", glXQueryHyperpipeBestAttribSGIX == NULL); glewInfoFunc("glXQueryHyperpipeConfigSGIX", glXQueryHyperpipeConfigSGIX == NULL); glewInfoFunc("glXQueryHyperpipeNetworkSGIX", glXQueryHyperpipeNetworkSGIX == NULL); } #endif /* GLX_SGIX_hyperpipe */ #ifdef GLX_SGIX_pbuffer static void _glewInfo_GLX_SGIX_pbuffer (void) { glewPrintExt("GLX_SGIX_pbuffer", GLXEW_SGIX_pbuffer, glxewIsSupported("GLX_SGIX_pbuffer"), glxewGetExtension("GLX_SGIX_pbuffer")); glewInfoFunc("glXCreateGLXPbufferSGIX", glXCreateGLXPbufferSGIX == NULL); glewInfoFunc("glXDestroyGLXPbufferSGIX", glXDestroyGLXPbufferSGIX == NULL); glewInfoFunc("glXGetSelectedEventSGIX", glXGetSelectedEventSGIX == NULL); glewInfoFunc("glXQueryGLXPbufferSGIX", glXQueryGLXPbufferSGIX == NULL); glewInfoFunc("glXSelectEventSGIX", glXSelectEventSGIX == NULL); } #endif /* GLX_SGIX_pbuffer */ #ifdef GLX_SGIX_swap_barrier static void _glewInfo_GLX_SGIX_swap_barrier (void) { glewPrintExt("GLX_SGIX_swap_barrier", GLXEW_SGIX_swap_barrier, glxewIsSupported("GLX_SGIX_swap_barrier"), glxewGetExtension("GLX_SGIX_swap_barrier")); glewInfoFunc("glXBindSwapBarrierSGIX", glXBindSwapBarrierSGIX == NULL); glewInfoFunc("glXQueryMaxSwapBarriersSGIX", glXQueryMaxSwapBarriersSGIX == NULL); } #endif /* GLX_SGIX_swap_barrier */ #ifdef GLX_SGIX_swap_group static void _glewInfo_GLX_SGIX_swap_group (void) { glewPrintExt("GLX_SGIX_swap_group", GLXEW_SGIX_swap_group, glxewIsSupported("GLX_SGIX_swap_group"), glxewGetExtension("GLX_SGIX_swap_group")); glewInfoFunc("glXJoinSwapGroupSGIX", glXJoinSwapGroupSGIX == NULL); } #endif /* GLX_SGIX_swap_group */ #ifdef GLX_SGIX_video_resize static void _glewInfo_GLX_SGIX_video_resize (void) { glewPrintExt("GLX_SGIX_video_resize", GLXEW_SGIX_video_resize, glxewIsSupported("GLX_SGIX_video_resize"), glxewGetExtension("GLX_SGIX_video_resize")); glewInfoFunc("glXBindChannelToWindowSGIX", glXBindChannelToWindowSGIX == NULL); glewInfoFunc("glXChannelRectSGIX", glXChannelRectSGIX == NULL); glewInfoFunc("glXChannelRectSyncSGIX", glXChannelRectSyncSGIX == NULL); glewInfoFunc("glXQueryChannelDeltasSGIX", glXQueryChannelDeltasSGIX == NULL); glewInfoFunc("glXQueryChannelRectSGIX", glXQueryChannelRectSGIX == NULL); } #endif /* GLX_SGIX_video_resize */ #ifdef GLX_SGIX_visual_select_group static void _glewInfo_GLX_SGIX_visual_select_group (void) { glewPrintExt("GLX_SGIX_visual_select_group", GLXEW_SGIX_visual_select_group, glxewIsSupported("GLX_SGIX_visual_select_group"), glxewGetExtension("GLX_SGIX_visual_select_group")); } #endif /* GLX_SGIX_visual_select_group */ #ifdef GLX_SGI_cushion static void _glewInfo_GLX_SGI_cushion (void) { glewPrintExt("GLX_SGI_cushion", GLXEW_SGI_cushion, glxewIsSupported("GLX_SGI_cushion"), glxewGetExtension("GLX_SGI_cushion")); glewInfoFunc("glXCushionSGI", glXCushionSGI == NULL); } #endif /* GLX_SGI_cushion */ #ifdef GLX_SGI_make_current_read static void _glewInfo_GLX_SGI_make_current_read (void) { glewPrintExt("GLX_SGI_make_current_read", GLXEW_SGI_make_current_read, glxewIsSupported("GLX_SGI_make_current_read"), glxewGetExtension("GLX_SGI_make_current_read")); glewInfoFunc("glXGetCurrentReadDrawableSGI", glXGetCurrentReadDrawableSGI == NULL); glewInfoFunc("glXMakeCurrentReadSGI", glXMakeCurrentReadSGI == NULL); } #endif /* GLX_SGI_make_current_read */ #ifdef GLX_SGI_swap_control static void _glewInfo_GLX_SGI_swap_control (void) { glewPrintExt("GLX_SGI_swap_control", GLXEW_SGI_swap_control, glxewIsSupported("GLX_SGI_swap_control"), glxewGetExtension("GLX_SGI_swap_control")); glewInfoFunc("glXSwapIntervalSGI", glXSwapIntervalSGI == NULL); } #endif /* GLX_SGI_swap_control */ #ifdef GLX_SGI_video_sync static void _glewInfo_GLX_SGI_video_sync (void) { glewPrintExt("GLX_SGI_video_sync", GLXEW_SGI_video_sync, glxewIsSupported("GLX_SGI_video_sync"), glxewGetExtension("GLX_SGI_video_sync")); glewInfoFunc("glXGetVideoSyncSGI", glXGetVideoSyncSGI == NULL); glewInfoFunc("glXWaitVideoSyncSGI", glXWaitVideoSyncSGI == NULL); } #endif /* GLX_SGI_video_sync */ #ifdef GLX_SUN_get_transparent_index static void _glewInfo_GLX_SUN_get_transparent_index (void) { glewPrintExt("GLX_SUN_get_transparent_index", GLXEW_SUN_get_transparent_index, glxewIsSupported("GLX_SUN_get_transparent_index"), glxewGetExtension("GLX_SUN_get_transparent_index")); glewInfoFunc("glXGetTransparentIndexSUN", glXGetTransparentIndexSUN == NULL); } #endif /* GLX_SUN_get_transparent_index */ #ifdef GLX_SUN_video_resize static void _glewInfo_GLX_SUN_video_resize (void) { glewPrintExt("GLX_SUN_video_resize", GLXEW_SUN_video_resize, glxewIsSupported("GLX_SUN_video_resize"), glxewGetExtension("GLX_SUN_video_resize")); glewInfoFunc("glXGetVideoResizeSUN", glXGetVideoResizeSUN == NULL); glewInfoFunc("glXVideoResizeSUN", glXVideoResizeSUN == NULL); } #endif /* GLX_SUN_video_resize */ #endif /* _WIN32 */ /* ------------------------------------------------------------------------ */ static void glewInfo (void) { #ifdef GL_VERSION_1_1 _glewInfo_GL_VERSION_1_1(); #endif /* GL_VERSION_1_1 */ #ifdef GL_VERSION_1_2 _glewInfo_GL_VERSION_1_2(); #endif /* GL_VERSION_1_2 */ #ifdef GL_VERSION_1_3 _glewInfo_GL_VERSION_1_3(); #endif /* GL_VERSION_1_3 */ #ifdef GL_VERSION_1_4 _glewInfo_GL_VERSION_1_4(); #endif /* GL_VERSION_1_4 */ #ifdef GL_VERSION_1_5 _glewInfo_GL_VERSION_1_5(); #endif /* GL_VERSION_1_5 */ #ifdef GL_VERSION_2_0 _glewInfo_GL_VERSION_2_0(); #endif /* GL_VERSION_2_0 */ #ifdef GL_VERSION_2_1 _glewInfo_GL_VERSION_2_1(); #endif /* GL_VERSION_2_1 */ #ifdef GL_VERSION_3_0 _glewInfo_GL_VERSION_3_0(); #endif /* GL_VERSION_3_0 */ #ifdef GL_3DFX_multisample _glewInfo_GL_3DFX_multisample(); #endif /* GL_3DFX_multisample */ #ifdef GL_3DFX_tbuffer _glewInfo_GL_3DFX_tbuffer(); #endif /* GL_3DFX_tbuffer */ #ifdef GL_3DFX_texture_compression_FXT1 _glewInfo_GL_3DFX_texture_compression_FXT1(); #endif /* GL_3DFX_texture_compression_FXT1 */ #ifdef GL_APPLE_client_storage _glewInfo_GL_APPLE_client_storage(); #endif /* GL_APPLE_client_storage */ #ifdef GL_APPLE_element_array _glewInfo_GL_APPLE_element_array(); #endif /* GL_APPLE_element_array */ #ifdef GL_APPLE_fence _glewInfo_GL_APPLE_fence(); #endif /* GL_APPLE_fence */ #ifdef GL_APPLE_float_pixels _glewInfo_GL_APPLE_float_pixels(); #endif /* GL_APPLE_float_pixels */ #ifdef GL_APPLE_flush_buffer_range _glewInfo_GL_APPLE_flush_buffer_range(); #endif /* GL_APPLE_flush_buffer_range */ #ifdef GL_APPLE_pixel_buffer _glewInfo_GL_APPLE_pixel_buffer(); #endif /* GL_APPLE_pixel_buffer */ #ifdef GL_APPLE_specular_vector _glewInfo_GL_APPLE_specular_vector(); #endif /* GL_APPLE_specular_vector */ #ifdef GL_APPLE_texture_range _glewInfo_GL_APPLE_texture_range(); #endif /* GL_APPLE_texture_range */ #ifdef GL_APPLE_transform_hint _glewInfo_GL_APPLE_transform_hint(); #endif /* GL_APPLE_transform_hint */ #ifdef GL_APPLE_vertex_array_object _glewInfo_GL_APPLE_vertex_array_object(); #endif /* GL_APPLE_vertex_array_object */ #ifdef GL_APPLE_vertex_array_range _glewInfo_GL_APPLE_vertex_array_range(); #endif /* GL_APPLE_vertex_array_range */ #ifdef GL_APPLE_ycbcr_422 _glewInfo_GL_APPLE_ycbcr_422(); #endif /* GL_APPLE_ycbcr_422 */ #ifdef GL_ARB_color_buffer_float _glewInfo_GL_ARB_color_buffer_float(); #endif /* GL_ARB_color_buffer_float */ #ifdef GL_ARB_depth_buffer_float _glewInfo_GL_ARB_depth_buffer_float(); #endif /* GL_ARB_depth_buffer_float */ #ifdef GL_ARB_depth_texture _glewInfo_GL_ARB_depth_texture(); #endif /* GL_ARB_depth_texture */ #ifdef GL_ARB_draw_buffers _glewInfo_GL_ARB_draw_buffers(); #endif /* GL_ARB_draw_buffers */ #ifdef GL_ARB_draw_instanced _glewInfo_GL_ARB_draw_instanced(); #endif /* GL_ARB_draw_instanced */ #ifdef GL_ARB_fragment_program _glewInfo_GL_ARB_fragment_program(); #endif /* GL_ARB_fragment_program */ #ifdef GL_ARB_fragment_program_shadow _glewInfo_GL_ARB_fragment_program_shadow(); #endif /* GL_ARB_fragment_program_shadow */ #ifdef GL_ARB_fragment_shader _glewInfo_GL_ARB_fragment_shader(); #endif /* GL_ARB_fragment_shader */ #ifdef GL_ARB_framebuffer_object _glewInfo_GL_ARB_framebuffer_object(); #endif /* GL_ARB_framebuffer_object */ #ifdef GL_ARB_framebuffer_sRGB _glewInfo_GL_ARB_framebuffer_sRGB(); #endif /* GL_ARB_framebuffer_sRGB */ #ifdef GL_ARB_geometry_shader4 _glewInfo_GL_ARB_geometry_shader4(); #endif /* GL_ARB_geometry_shader4 */ #ifdef GL_ARB_half_float_pixel _glewInfo_GL_ARB_half_float_pixel(); #endif /* GL_ARB_half_float_pixel */ #ifdef GL_ARB_half_float_vertex _glewInfo_GL_ARB_half_float_vertex(); #endif /* GL_ARB_half_float_vertex */ #ifdef GL_ARB_imaging _glewInfo_GL_ARB_imaging(); #endif /* GL_ARB_imaging */ #ifdef GL_ARB_instanced_arrays _glewInfo_GL_ARB_instanced_arrays(); #endif /* GL_ARB_instanced_arrays */ #ifdef GL_ARB_map_buffer_range _glewInfo_GL_ARB_map_buffer_range(); #endif /* GL_ARB_map_buffer_range */ #ifdef GL_ARB_matrix_palette _glewInfo_GL_ARB_matrix_palette(); #endif /* GL_ARB_matrix_palette */ #ifdef GL_ARB_multisample _glewInfo_GL_ARB_multisample(); #endif /* GL_ARB_multisample */ #ifdef GL_ARB_multitexture _glewInfo_GL_ARB_multitexture(); #endif /* GL_ARB_multitexture */ #ifdef GL_ARB_occlusion_query _glewInfo_GL_ARB_occlusion_query(); #endif /* GL_ARB_occlusion_query */ #ifdef GL_ARB_pixel_buffer_object _glewInfo_GL_ARB_pixel_buffer_object(); #endif /* GL_ARB_pixel_buffer_object */ #ifdef GL_ARB_point_parameters _glewInfo_GL_ARB_point_parameters(); #endif /* GL_ARB_point_parameters */ #ifdef GL_ARB_point_sprite _glewInfo_GL_ARB_point_sprite(); #endif /* GL_ARB_point_sprite */ #ifdef GL_ARB_shader_objects _glewInfo_GL_ARB_shader_objects(); #endif /* GL_ARB_shader_objects */ #ifdef GL_ARB_shading_language_100 _glewInfo_GL_ARB_shading_language_100(); #endif /* GL_ARB_shading_language_100 */ #ifdef GL_ARB_shadow _glewInfo_GL_ARB_shadow(); #endif /* GL_ARB_shadow */ #ifdef GL_ARB_shadow_ambient _glewInfo_GL_ARB_shadow_ambient(); #endif /* GL_ARB_shadow_ambient */ #ifdef GL_ARB_texture_border_clamp _glewInfo_GL_ARB_texture_border_clamp(); #endif /* GL_ARB_texture_border_clamp */ #ifdef GL_ARB_texture_buffer_object _glewInfo_GL_ARB_texture_buffer_object(); #endif /* GL_ARB_texture_buffer_object */ #ifdef GL_ARB_texture_compression _glewInfo_GL_ARB_texture_compression(); #endif /* GL_ARB_texture_compression */ #ifdef GL_ARB_texture_compression_rgtc _glewInfo_GL_ARB_texture_compression_rgtc(); #endif /* GL_ARB_texture_compression_rgtc */ #ifdef GL_ARB_texture_cube_map _glewInfo_GL_ARB_texture_cube_map(); #endif /* GL_ARB_texture_cube_map */ #ifdef GL_ARB_texture_env_add _glewInfo_GL_ARB_texture_env_add(); #endif /* GL_ARB_texture_env_add */ #ifdef GL_ARB_texture_env_combine _glewInfo_GL_ARB_texture_env_combine(); #endif /* GL_ARB_texture_env_combine */ #ifdef GL_ARB_texture_env_crossbar _glewInfo_GL_ARB_texture_env_crossbar(); #endif /* GL_ARB_texture_env_crossbar */ #ifdef GL_ARB_texture_env_dot3 _glewInfo_GL_ARB_texture_env_dot3(); #endif /* GL_ARB_texture_env_dot3 */ #ifdef GL_ARB_texture_float _glewInfo_GL_ARB_texture_float(); #endif /* GL_ARB_texture_float */ #ifdef GL_ARB_texture_mirrored_repeat _glewInfo_GL_ARB_texture_mirrored_repeat(); #endif /* GL_ARB_texture_mirrored_repeat */ #ifdef GL_ARB_texture_non_power_of_two _glewInfo_GL_ARB_texture_non_power_of_two(); #endif /* GL_ARB_texture_non_power_of_two */ #ifdef GL_ARB_texture_rectangle _glewInfo_GL_ARB_texture_rectangle(); #endif /* GL_ARB_texture_rectangle */ #ifdef GL_ARB_texture_rg _glewInfo_GL_ARB_texture_rg(); #endif /* GL_ARB_texture_rg */ #ifdef GL_ARB_transpose_matrix _glewInfo_GL_ARB_transpose_matrix(); #endif /* GL_ARB_transpose_matrix */ #ifdef GL_ARB_vertex_array_object _glewInfo_GL_ARB_vertex_array_object(); #endif /* GL_ARB_vertex_array_object */ #ifdef GL_ARB_vertex_blend _glewInfo_GL_ARB_vertex_blend(); #endif /* GL_ARB_vertex_blend */ #ifdef GL_ARB_vertex_buffer_object _glewInfo_GL_ARB_vertex_buffer_object(); #endif /* GL_ARB_vertex_buffer_object */ #ifdef GL_ARB_vertex_program _glewInfo_GL_ARB_vertex_program(); #endif /* GL_ARB_vertex_program */ #ifdef GL_ARB_vertex_shader _glewInfo_GL_ARB_vertex_shader(); #endif /* GL_ARB_vertex_shader */ #ifdef GL_ARB_window_pos _glewInfo_GL_ARB_window_pos(); #endif /* GL_ARB_window_pos */ #ifdef GL_ATIX_point_sprites _glewInfo_GL_ATIX_point_sprites(); #endif /* GL_ATIX_point_sprites */ #ifdef GL_ATIX_texture_env_combine3 _glewInfo_GL_ATIX_texture_env_combine3(); #endif /* GL_ATIX_texture_env_combine3 */ #ifdef GL_ATIX_texture_env_route _glewInfo_GL_ATIX_texture_env_route(); #endif /* GL_ATIX_texture_env_route */ #ifdef GL_ATIX_vertex_shader_output_point_size _glewInfo_GL_ATIX_vertex_shader_output_point_size(); #endif /* GL_ATIX_vertex_shader_output_point_size */ #ifdef GL_ATI_draw_buffers _glewInfo_GL_ATI_draw_buffers(); #endif /* GL_ATI_draw_buffers */ #ifdef GL_ATI_element_array _glewInfo_GL_ATI_element_array(); #endif /* GL_ATI_element_array */ #ifdef GL_ATI_envmap_bumpmap _glewInfo_GL_ATI_envmap_bumpmap(); #endif /* GL_ATI_envmap_bumpmap */ #ifdef GL_ATI_fragment_shader _glewInfo_GL_ATI_fragment_shader(); #endif /* GL_ATI_fragment_shader */ #ifdef GL_ATI_map_object_buffer _glewInfo_GL_ATI_map_object_buffer(); #endif /* GL_ATI_map_object_buffer */ #ifdef GL_ATI_pn_triangles _glewInfo_GL_ATI_pn_triangles(); #endif /* GL_ATI_pn_triangles */ #ifdef GL_ATI_separate_stencil _glewInfo_GL_ATI_separate_stencil(); #endif /* GL_ATI_separate_stencil */ #ifdef GL_ATI_shader_texture_lod _glewInfo_GL_ATI_shader_texture_lod(); #endif /* GL_ATI_shader_texture_lod */ #ifdef GL_ATI_text_fragment_shader _glewInfo_GL_ATI_text_fragment_shader(); #endif /* GL_ATI_text_fragment_shader */ #ifdef GL_ATI_texture_compression_3dc _glewInfo_GL_ATI_texture_compression_3dc(); #endif /* GL_ATI_texture_compression_3dc */ #ifdef GL_ATI_texture_env_combine3 _glewInfo_GL_ATI_texture_env_combine3(); #endif /* GL_ATI_texture_env_combine3 */ #ifdef GL_ATI_texture_float _glewInfo_GL_ATI_texture_float(); #endif /* GL_ATI_texture_float */ #ifdef GL_ATI_texture_mirror_once _glewInfo_GL_ATI_texture_mirror_once(); #endif /* GL_ATI_texture_mirror_once */ #ifdef GL_ATI_vertex_array_object _glewInfo_GL_ATI_vertex_array_object(); #endif /* GL_ATI_vertex_array_object */ #ifdef GL_ATI_vertex_attrib_array_object _glewInfo_GL_ATI_vertex_attrib_array_object(); #endif /* GL_ATI_vertex_attrib_array_object */ #ifdef GL_ATI_vertex_streams _glewInfo_GL_ATI_vertex_streams(); #endif /* GL_ATI_vertex_streams */ #ifdef GL_EXT_422_pixels _glewInfo_GL_EXT_422_pixels(); #endif /* GL_EXT_422_pixels */ #ifdef GL_EXT_Cg_shader _glewInfo_GL_EXT_Cg_shader(); #endif /* GL_EXT_Cg_shader */ #ifdef GL_EXT_abgr _glewInfo_GL_EXT_abgr(); #endif /* GL_EXT_abgr */ #ifdef GL_EXT_bgra _glewInfo_GL_EXT_bgra(); #endif /* GL_EXT_bgra */ #ifdef GL_EXT_bindable_uniform _glewInfo_GL_EXT_bindable_uniform(); #endif /* GL_EXT_bindable_uniform */ #ifdef GL_EXT_blend_color _glewInfo_GL_EXT_blend_color(); #endif /* GL_EXT_blend_color */ #ifdef GL_EXT_blend_equation_separate _glewInfo_GL_EXT_blend_equation_separate(); #endif /* GL_EXT_blend_equation_separate */ #ifdef GL_EXT_blend_func_separate _glewInfo_GL_EXT_blend_func_separate(); #endif /* GL_EXT_blend_func_separate */ #ifdef GL_EXT_blend_logic_op _glewInfo_GL_EXT_blend_logic_op(); #endif /* GL_EXT_blend_logic_op */ #ifdef GL_EXT_blend_minmax _glewInfo_GL_EXT_blend_minmax(); #endif /* GL_EXT_blend_minmax */ #ifdef GL_EXT_blend_subtract _glewInfo_GL_EXT_blend_subtract(); #endif /* GL_EXT_blend_subtract */ #ifdef GL_EXT_clip_volume_hint _glewInfo_GL_EXT_clip_volume_hint(); #endif /* GL_EXT_clip_volume_hint */ #ifdef GL_EXT_cmyka _glewInfo_GL_EXT_cmyka(); #endif /* GL_EXT_cmyka */ #ifdef GL_EXT_color_subtable _glewInfo_GL_EXT_color_subtable(); #endif /* GL_EXT_color_subtable */ #ifdef GL_EXT_compiled_vertex_array _glewInfo_GL_EXT_compiled_vertex_array(); #endif /* GL_EXT_compiled_vertex_array */ #ifdef GL_EXT_convolution _glewInfo_GL_EXT_convolution(); #endif /* GL_EXT_convolution */ #ifdef GL_EXT_coordinate_frame _glewInfo_GL_EXT_coordinate_frame(); #endif /* GL_EXT_coordinate_frame */ #ifdef GL_EXT_copy_texture _glewInfo_GL_EXT_copy_texture(); #endif /* GL_EXT_copy_texture */ #ifdef GL_EXT_cull_vertex _glewInfo_GL_EXT_cull_vertex(); #endif /* GL_EXT_cull_vertex */ #ifdef GL_EXT_depth_bounds_test _glewInfo_GL_EXT_depth_bounds_test(); #endif /* GL_EXT_depth_bounds_test */ #ifdef GL_EXT_direct_state_access _glewInfo_GL_EXT_direct_state_access(); #endif /* GL_EXT_direct_state_access */ #ifdef GL_EXT_draw_buffers2 _glewInfo_GL_EXT_draw_buffers2(); #endif /* GL_EXT_draw_buffers2 */ #ifdef GL_EXT_draw_instanced _glewInfo_GL_EXT_draw_instanced(); #endif /* GL_EXT_draw_instanced */ #ifdef GL_EXT_draw_range_elements _glewInfo_GL_EXT_draw_range_elements(); #endif /* GL_EXT_draw_range_elements */ #ifdef GL_EXT_fog_coord _glewInfo_GL_EXT_fog_coord(); #endif /* GL_EXT_fog_coord */ #ifdef GL_EXT_fragment_lighting _glewInfo_GL_EXT_fragment_lighting(); #endif /* GL_EXT_fragment_lighting */ #ifdef GL_EXT_framebuffer_blit _glewInfo_GL_EXT_framebuffer_blit(); #endif /* GL_EXT_framebuffer_blit */ #ifdef GL_EXT_framebuffer_multisample _glewInfo_GL_EXT_framebuffer_multisample(); #endif /* GL_EXT_framebuffer_multisample */ #ifdef GL_EXT_framebuffer_object _glewInfo_GL_EXT_framebuffer_object(); #endif /* GL_EXT_framebuffer_object */ #ifdef GL_EXT_framebuffer_sRGB _glewInfo_GL_EXT_framebuffer_sRGB(); #endif /* GL_EXT_framebuffer_sRGB */ #ifdef GL_EXT_geometry_shader4 _glewInfo_GL_EXT_geometry_shader4(); #endif /* GL_EXT_geometry_shader4 */ #ifdef GL_EXT_gpu_program_parameters _glewInfo_GL_EXT_gpu_program_parameters(); #endif /* GL_EXT_gpu_program_parameters */ #ifdef GL_EXT_gpu_shader4 _glewInfo_GL_EXT_gpu_shader4(); #endif /* GL_EXT_gpu_shader4 */ #ifdef GL_EXT_histogram _glewInfo_GL_EXT_histogram(); #endif /* GL_EXT_histogram */ #ifdef GL_EXT_index_array_formats _glewInfo_GL_EXT_index_array_formats(); #endif /* GL_EXT_index_array_formats */ #ifdef GL_EXT_index_func _glewInfo_GL_EXT_index_func(); #endif /* GL_EXT_index_func */ #ifdef GL_EXT_index_material _glewInfo_GL_EXT_index_material(); #endif /* GL_EXT_index_material */ #ifdef GL_EXT_index_texture _glewInfo_GL_EXT_index_texture(); #endif /* GL_EXT_index_texture */ #ifdef GL_EXT_light_texture _glewInfo_GL_EXT_light_texture(); #endif /* GL_EXT_light_texture */ #ifdef GL_EXT_misc_attribute _glewInfo_GL_EXT_misc_attribute(); #endif /* GL_EXT_misc_attribute */ #ifdef GL_EXT_multi_draw_arrays _glewInfo_GL_EXT_multi_draw_arrays(); #endif /* GL_EXT_multi_draw_arrays */ #ifdef GL_EXT_multisample _glewInfo_GL_EXT_multisample(); #endif /* GL_EXT_multisample */ #ifdef GL_EXT_packed_depth_stencil _glewInfo_GL_EXT_packed_depth_stencil(); #endif /* GL_EXT_packed_depth_stencil */ #ifdef GL_EXT_packed_float _glewInfo_GL_EXT_packed_float(); #endif /* GL_EXT_packed_float */ #ifdef GL_EXT_packed_pixels _glewInfo_GL_EXT_packed_pixels(); #endif /* GL_EXT_packed_pixels */ #ifdef GL_EXT_paletted_texture _glewInfo_GL_EXT_paletted_texture(); #endif /* GL_EXT_paletted_texture */ #ifdef GL_EXT_pixel_buffer_object _glewInfo_GL_EXT_pixel_buffer_object(); #endif /* GL_EXT_pixel_buffer_object */ #ifdef GL_EXT_pixel_transform _glewInfo_GL_EXT_pixel_transform(); #endif /* GL_EXT_pixel_transform */ #ifdef GL_EXT_pixel_transform_color_table _glewInfo_GL_EXT_pixel_transform_color_table(); #endif /* GL_EXT_pixel_transform_color_table */ #ifdef GL_EXT_point_parameters _glewInfo_GL_EXT_point_parameters(); #endif /* GL_EXT_point_parameters */ #ifdef GL_EXT_polygon_offset _glewInfo_GL_EXT_polygon_offset(); #endif /* GL_EXT_polygon_offset */ #ifdef GL_EXT_rescale_normal _glewInfo_GL_EXT_rescale_normal(); #endif /* GL_EXT_rescale_normal */ #ifdef GL_EXT_scene_marker _glewInfo_GL_EXT_scene_marker(); #endif /* GL_EXT_scene_marker */ #ifdef GL_EXT_secondary_color _glewInfo_GL_EXT_secondary_color(); #endif /* GL_EXT_secondary_color */ #ifdef GL_EXT_separate_specular_color _glewInfo_GL_EXT_separate_specular_color(); #endif /* GL_EXT_separate_specular_color */ #ifdef GL_EXT_shadow_funcs _glewInfo_GL_EXT_shadow_funcs(); #endif /* GL_EXT_shadow_funcs */ #ifdef GL_EXT_shared_texture_palette _glewInfo_GL_EXT_shared_texture_palette(); #endif /* GL_EXT_shared_texture_palette */ #ifdef GL_EXT_stencil_clear_tag _glewInfo_GL_EXT_stencil_clear_tag(); #endif /* GL_EXT_stencil_clear_tag */ #ifdef GL_EXT_stencil_two_side _glewInfo_GL_EXT_stencil_two_side(); #endif /* GL_EXT_stencil_two_side */ #ifdef GL_EXT_stencil_wrap _glewInfo_GL_EXT_stencil_wrap(); #endif /* GL_EXT_stencil_wrap */ #ifdef GL_EXT_subtexture _glewInfo_GL_EXT_subtexture(); #endif /* GL_EXT_subtexture */ #ifdef GL_EXT_texture _glewInfo_GL_EXT_texture(); #endif /* GL_EXT_texture */ #ifdef GL_EXT_texture3D _glewInfo_GL_EXT_texture3D(); #endif /* GL_EXT_texture3D */ #ifdef GL_EXT_texture_array _glewInfo_GL_EXT_texture_array(); #endif /* GL_EXT_texture_array */ #ifdef GL_EXT_texture_buffer_object _glewInfo_GL_EXT_texture_buffer_object(); #endif /* GL_EXT_texture_buffer_object */ #ifdef GL_EXT_texture_compression_dxt1 _glewInfo_GL_EXT_texture_compression_dxt1(); #endif /* GL_EXT_texture_compression_dxt1 */ #ifdef GL_EXT_texture_compression_latc _glewInfo_GL_EXT_texture_compression_latc(); #endif /* GL_EXT_texture_compression_latc */ #ifdef GL_EXT_texture_compression_rgtc _glewInfo_GL_EXT_texture_compression_rgtc(); #endif /* GL_EXT_texture_compression_rgtc */ #ifdef GL_EXT_texture_compression_s3tc _glewInfo_GL_EXT_texture_compression_s3tc(); #endif /* GL_EXT_texture_compression_s3tc */ #ifdef GL_EXT_texture_cube_map _glewInfo_GL_EXT_texture_cube_map(); #endif /* GL_EXT_texture_cube_map */ #ifdef GL_EXT_texture_edge_clamp _glewInfo_GL_EXT_texture_edge_clamp(); #endif /* GL_EXT_texture_edge_clamp */ #ifdef GL_EXT_texture_env _glewInfo_GL_EXT_texture_env(); #endif /* GL_EXT_texture_env */ #ifdef GL_EXT_texture_env_add _glewInfo_GL_EXT_texture_env_add(); #endif /* GL_EXT_texture_env_add */ #ifdef GL_EXT_texture_env_combine _glewInfo_GL_EXT_texture_env_combine(); #endif /* GL_EXT_texture_env_combine */ #ifdef GL_EXT_texture_env_dot3 _glewInfo_GL_EXT_texture_env_dot3(); #endif /* GL_EXT_texture_env_dot3 */ #ifdef GL_EXT_texture_filter_anisotropic _glewInfo_GL_EXT_texture_filter_anisotropic(); #endif /* GL_EXT_texture_filter_anisotropic */ #ifdef GL_EXT_texture_integer _glewInfo_GL_EXT_texture_integer(); #endif /* GL_EXT_texture_integer */ #ifdef GL_EXT_texture_lod_bias _glewInfo_GL_EXT_texture_lod_bias(); #endif /* GL_EXT_texture_lod_bias */ #ifdef GL_EXT_texture_mirror_clamp _glewInfo_GL_EXT_texture_mirror_clamp(); #endif /* GL_EXT_texture_mirror_clamp */ #ifdef GL_EXT_texture_object _glewInfo_GL_EXT_texture_object(); #endif /* GL_EXT_texture_object */ #ifdef GL_EXT_texture_perturb_normal _glewInfo_GL_EXT_texture_perturb_normal(); #endif /* GL_EXT_texture_perturb_normal */ #ifdef GL_EXT_texture_rectangle _glewInfo_GL_EXT_texture_rectangle(); #endif /* GL_EXT_texture_rectangle */ #ifdef GL_EXT_texture_sRGB _glewInfo_GL_EXT_texture_sRGB(); #endif /* GL_EXT_texture_sRGB */ #ifdef GL_EXT_texture_shared_exponent _glewInfo_GL_EXT_texture_shared_exponent(); #endif /* GL_EXT_texture_shared_exponent */ #ifdef GL_EXT_texture_swizzle _glewInfo_GL_EXT_texture_swizzle(); #endif /* GL_EXT_texture_swizzle */ #ifdef GL_EXT_timer_query _glewInfo_GL_EXT_timer_query(); #endif /* GL_EXT_timer_query */ #ifdef GL_EXT_transform_feedback _glewInfo_GL_EXT_transform_feedback(); #endif /* GL_EXT_transform_feedback */ #ifdef GL_EXT_vertex_array _glewInfo_GL_EXT_vertex_array(); #endif /* GL_EXT_vertex_array */ #ifdef GL_EXT_vertex_array_bgra _glewInfo_GL_EXT_vertex_array_bgra(); #endif /* GL_EXT_vertex_array_bgra */ #ifdef GL_EXT_vertex_shader _glewInfo_GL_EXT_vertex_shader(); #endif /* GL_EXT_vertex_shader */ #ifdef GL_EXT_vertex_weighting _glewInfo_GL_EXT_vertex_weighting(); #endif /* GL_EXT_vertex_weighting */ #ifdef GL_GREMEDY_frame_terminator _glewInfo_GL_GREMEDY_frame_terminator(); #endif /* GL_GREMEDY_frame_terminator */ #ifdef GL_GREMEDY_string_marker _glewInfo_GL_GREMEDY_string_marker(); #endif /* GL_GREMEDY_string_marker */ #ifdef GL_HP_convolution_border_modes _glewInfo_GL_HP_convolution_border_modes(); #endif /* GL_HP_convolution_border_modes */ #ifdef GL_HP_image_transform _glewInfo_GL_HP_image_transform(); #endif /* GL_HP_image_transform */ #ifdef GL_HP_occlusion_test _glewInfo_GL_HP_occlusion_test(); #endif /* GL_HP_occlusion_test */ #ifdef GL_HP_texture_lighting _glewInfo_GL_HP_texture_lighting(); #endif /* GL_HP_texture_lighting */ #ifdef GL_IBM_cull_vertex _glewInfo_GL_IBM_cull_vertex(); #endif /* GL_IBM_cull_vertex */ #ifdef GL_IBM_multimode_draw_arrays _glewInfo_GL_IBM_multimode_draw_arrays(); #endif /* GL_IBM_multimode_draw_arrays */ #ifdef GL_IBM_rasterpos_clip _glewInfo_GL_IBM_rasterpos_clip(); #endif /* GL_IBM_rasterpos_clip */ #ifdef GL_IBM_static_data _glewInfo_GL_IBM_static_data(); #endif /* GL_IBM_static_data */ #ifdef GL_IBM_texture_mirrored_repeat _glewInfo_GL_IBM_texture_mirrored_repeat(); #endif /* GL_IBM_texture_mirrored_repeat */ #ifdef GL_IBM_vertex_array_lists _glewInfo_GL_IBM_vertex_array_lists(); #endif /* GL_IBM_vertex_array_lists */ #ifdef GL_INGR_color_clamp _glewInfo_GL_INGR_color_clamp(); #endif /* GL_INGR_color_clamp */ #ifdef GL_INGR_interlace_read _glewInfo_GL_INGR_interlace_read(); #endif /* GL_INGR_interlace_read */ #ifdef GL_INTEL_parallel_arrays _glewInfo_GL_INTEL_parallel_arrays(); #endif /* GL_INTEL_parallel_arrays */ #ifdef GL_INTEL_texture_scissor _glewInfo_GL_INTEL_texture_scissor(); #endif /* GL_INTEL_texture_scissor */ #ifdef GL_KTX_buffer_region _glewInfo_GL_KTX_buffer_region(); #endif /* GL_KTX_buffer_region */ #ifdef GL_MESAX_texture_stack _glewInfo_GL_MESAX_texture_stack(); #endif /* GL_MESAX_texture_stack */ #ifdef GL_MESA_pack_invert _glewInfo_GL_MESA_pack_invert(); #endif /* GL_MESA_pack_invert */ #ifdef GL_MESA_resize_buffers _glewInfo_GL_MESA_resize_buffers(); #endif /* GL_MESA_resize_buffers */ #ifdef GL_MESA_window_pos _glewInfo_GL_MESA_window_pos(); #endif /* GL_MESA_window_pos */ #ifdef GL_MESA_ycbcr_texture _glewInfo_GL_MESA_ycbcr_texture(); #endif /* GL_MESA_ycbcr_texture */ #ifdef GL_NV_blend_square _glewInfo_GL_NV_blend_square(); #endif /* GL_NV_blend_square */ #ifdef GL_NV_conditional_render _glewInfo_GL_NV_conditional_render(); #endif /* GL_NV_conditional_render */ #ifdef GL_NV_copy_depth_to_color _glewInfo_GL_NV_copy_depth_to_color(); #endif /* GL_NV_copy_depth_to_color */ #ifdef GL_NV_depth_buffer_float _glewInfo_GL_NV_depth_buffer_float(); #endif /* GL_NV_depth_buffer_float */ #ifdef GL_NV_depth_clamp _glewInfo_GL_NV_depth_clamp(); #endif /* GL_NV_depth_clamp */ #ifdef GL_NV_depth_range_unclamped _glewInfo_GL_NV_depth_range_unclamped(); #endif /* GL_NV_depth_range_unclamped */ #ifdef GL_NV_evaluators _glewInfo_GL_NV_evaluators(); #endif /* GL_NV_evaluators */ #ifdef GL_NV_explicit_multisample _glewInfo_GL_NV_explicit_multisample(); #endif /* GL_NV_explicit_multisample */ #ifdef GL_NV_fence _glewInfo_GL_NV_fence(); #endif /* GL_NV_fence */ #ifdef GL_NV_float_buffer _glewInfo_GL_NV_float_buffer(); #endif /* GL_NV_float_buffer */ #ifdef GL_NV_fog_distance _glewInfo_GL_NV_fog_distance(); #endif /* GL_NV_fog_distance */ #ifdef GL_NV_fragment_program _glewInfo_GL_NV_fragment_program(); #endif /* GL_NV_fragment_program */ #ifdef GL_NV_fragment_program2 _glewInfo_GL_NV_fragment_program2(); #endif /* GL_NV_fragment_program2 */ #ifdef GL_NV_fragment_program4 _glewInfo_GL_NV_fragment_program4(); #endif /* GL_NV_fragment_program4 */ #ifdef GL_NV_fragment_program_option _glewInfo_GL_NV_fragment_program_option(); #endif /* GL_NV_fragment_program_option */ #ifdef GL_NV_framebuffer_multisample_coverage _glewInfo_GL_NV_framebuffer_multisample_coverage(); #endif /* GL_NV_framebuffer_multisample_coverage */ #ifdef GL_NV_geometry_program4 _glewInfo_GL_NV_geometry_program4(); #endif /* GL_NV_geometry_program4 */ #ifdef GL_NV_geometry_shader4 _glewInfo_GL_NV_geometry_shader4(); #endif /* GL_NV_geometry_shader4 */ #ifdef GL_NV_gpu_program4 _glewInfo_GL_NV_gpu_program4(); #endif /* GL_NV_gpu_program4 */ #ifdef GL_NV_half_float _glewInfo_GL_NV_half_float(); #endif /* GL_NV_half_float */ #ifdef GL_NV_light_max_exponent _glewInfo_GL_NV_light_max_exponent(); #endif /* GL_NV_light_max_exponent */ #ifdef GL_NV_multisample_filter_hint _glewInfo_GL_NV_multisample_filter_hint(); #endif /* GL_NV_multisample_filter_hint */ #ifdef GL_NV_occlusion_query _glewInfo_GL_NV_occlusion_query(); #endif /* GL_NV_occlusion_query */ #ifdef GL_NV_packed_depth_stencil _glewInfo_GL_NV_packed_depth_stencil(); #endif /* GL_NV_packed_depth_stencil */ #ifdef GL_NV_parameter_buffer_object _glewInfo_GL_NV_parameter_buffer_object(); #endif /* GL_NV_parameter_buffer_object */ #ifdef GL_NV_pixel_data_range _glewInfo_GL_NV_pixel_data_range(); #endif /* GL_NV_pixel_data_range */ #ifdef GL_NV_point_sprite _glewInfo_GL_NV_point_sprite(); #endif /* GL_NV_point_sprite */ #ifdef GL_NV_present_video _glewInfo_GL_NV_present_video(); #endif /* GL_NV_present_video */ #ifdef GL_NV_primitive_restart _glewInfo_GL_NV_primitive_restart(); #endif /* GL_NV_primitive_restart */ #ifdef GL_NV_register_combiners _glewInfo_GL_NV_register_combiners(); #endif /* GL_NV_register_combiners */ #ifdef GL_NV_register_combiners2 _glewInfo_GL_NV_register_combiners2(); #endif /* GL_NV_register_combiners2 */ #ifdef GL_NV_texgen_emboss _glewInfo_GL_NV_texgen_emboss(); #endif /* GL_NV_texgen_emboss */ #ifdef GL_NV_texgen_reflection _glewInfo_GL_NV_texgen_reflection(); #endif /* GL_NV_texgen_reflection */ #ifdef GL_NV_texture_compression_vtc _glewInfo_GL_NV_texture_compression_vtc(); #endif /* GL_NV_texture_compression_vtc */ #ifdef GL_NV_texture_env_combine4 _glewInfo_GL_NV_texture_env_combine4(); #endif /* GL_NV_texture_env_combine4 */ #ifdef GL_NV_texture_expand_normal _glewInfo_GL_NV_texture_expand_normal(); #endif /* GL_NV_texture_expand_normal */ #ifdef GL_NV_texture_rectangle _glewInfo_GL_NV_texture_rectangle(); #endif /* GL_NV_texture_rectangle */ #ifdef GL_NV_texture_shader _glewInfo_GL_NV_texture_shader(); #endif /* GL_NV_texture_shader */ #ifdef GL_NV_texture_shader2 _glewInfo_GL_NV_texture_shader2(); #endif /* GL_NV_texture_shader2 */ #ifdef GL_NV_texture_shader3 _glewInfo_GL_NV_texture_shader3(); #endif /* GL_NV_texture_shader3 */ #ifdef GL_NV_transform_feedback _glewInfo_GL_NV_transform_feedback(); #endif /* GL_NV_transform_feedback */ #ifdef GL_NV_vertex_array_range _glewInfo_GL_NV_vertex_array_range(); #endif /* GL_NV_vertex_array_range */ #ifdef GL_NV_vertex_array_range2 _glewInfo_GL_NV_vertex_array_range2(); #endif /* GL_NV_vertex_array_range2 */ #ifdef GL_NV_vertex_program _glewInfo_GL_NV_vertex_program(); #endif /* GL_NV_vertex_program */ #ifdef GL_NV_vertex_program1_1 _glewInfo_GL_NV_vertex_program1_1(); #endif /* GL_NV_vertex_program1_1 */ #ifdef GL_NV_vertex_program2 _glewInfo_GL_NV_vertex_program2(); #endif /* GL_NV_vertex_program2 */ #ifdef GL_NV_vertex_program2_option _glewInfo_GL_NV_vertex_program2_option(); #endif /* GL_NV_vertex_program2_option */ #ifdef GL_NV_vertex_program3 _glewInfo_GL_NV_vertex_program3(); #endif /* GL_NV_vertex_program3 */ #ifdef GL_NV_vertex_program4 _glewInfo_GL_NV_vertex_program4(); #endif /* GL_NV_vertex_program4 */ #ifdef GL_OES_byte_coordinates _glewInfo_GL_OES_byte_coordinates(); #endif /* GL_OES_byte_coordinates */ #ifdef GL_OES_compressed_paletted_texture _glewInfo_GL_OES_compressed_paletted_texture(); #endif /* GL_OES_compressed_paletted_texture */ #ifdef GL_OES_read_format _glewInfo_GL_OES_read_format(); #endif /* GL_OES_read_format */ #ifdef GL_OES_single_precision _glewInfo_GL_OES_single_precision(); #endif /* GL_OES_single_precision */ #ifdef GL_OML_interlace _glewInfo_GL_OML_interlace(); #endif /* GL_OML_interlace */ #ifdef GL_OML_resample _glewInfo_GL_OML_resample(); #endif /* GL_OML_resample */ #ifdef GL_OML_subsample _glewInfo_GL_OML_subsample(); #endif /* GL_OML_subsample */ #ifdef GL_PGI_misc_hints _glewInfo_GL_PGI_misc_hints(); #endif /* GL_PGI_misc_hints */ #ifdef GL_PGI_vertex_hints _glewInfo_GL_PGI_vertex_hints(); #endif /* GL_PGI_vertex_hints */ #ifdef GL_REND_screen_coordinates _glewInfo_GL_REND_screen_coordinates(); #endif /* GL_REND_screen_coordinates */ #ifdef GL_S3_s3tc _glewInfo_GL_S3_s3tc(); #endif /* GL_S3_s3tc */ #ifdef GL_SGIS_color_range _glewInfo_GL_SGIS_color_range(); #endif /* GL_SGIS_color_range */ #ifdef GL_SGIS_detail_texture _glewInfo_GL_SGIS_detail_texture(); #endif /* GL_SGIS_detail_texture */ #ifdef GL_SGIS_fog_function _glewInfo_GL_SGIS_fog_function(); #endif /* GL_SGIS_fog_function */ #ifdef GL_SGIS_generate_mipmap _glewInfo_GL_SGIS_generate_mipmap(); #endif /* GL_SGIS_generate_mipmap */ #ifdef GL_SGIS_multisample _glewInfo_GL_SGIS_multisample(); #endif /* GL_SGIS_multisample */ #ifdef GL_SGIS_pixel_texture _glewInfo_GL_SGIS_pixel_texture(); #endif /* GL_SGIS_pixel_texture */ #ifdef GL_SGIS_point_line_texgen _glewInfo_GL_SGIS_point_line_texgen(); #endif /* GL_SGIS_point_line_texgen */ #ifdef GL_SGIS_sharpen_texture _glewInfo_GL_SGIS_sharpen_texture(); #endif /* GL_SGIS_sharpen_texture */ #ifdef GL_SGIS_texture4D _glewInfo_GL_SGIS_texture4D(); #endif /* GL_SGIS_texture4D */ #ifdef GL_SGIS_texture_border_clamp _glewInfo_GL_SGIS_texture_border_clamp(); #endif /* GL_SGIS_texture_border_clamp */ #ifdef GL_SGIS_texture_edge_clamp _glewInfo_GL_SGIS_texture_edge_clamp(); #endif /* GL_SGIS_texture_edge_clamp */ #ifdef GL_SGIS_texture_filter4 _glewInfo_GL_SGIS_texture_filter4(); #endif /* GL_SGIS_texture_filter4 */ #ifdef GL_SGIS_texture_lod _glewInfo_GL_SGIS_texture_lod(); #endif /* GL_SGIS_texture_lod */ #ifdef GL_SGIS_texture_select _glewInfo_GL_SGIS_texture_select(); #endif /* GL_SGIS_texture_select */ #ifdef GL_SGIX_async _glewInfo_GL_SGIX_async(); #endif /* GL_SGIX_async */ #ifdef GL_SGIX_async_histogram _glewInfo_GL_SGIX_async_histogram(); #endif /* GL_SGIX_async_histogram */ #ifdef GL_SGIX_async_pixel _glewInfo_GL_SGIX_async_pixel(); #endif /* GL_SGIX_async_pixel */ #ifdef GL_SGIX_blend_alpha_minmax _glewInfo_GL_SGIX_blend_alpha_minmax(); #endif /* GL_SGIX_blend_alpha_minmax */ #ifdef GL_SGIX_clipmap _glewInfo_GL_SGIX_clipmap(); #endif /* GL_SGIX_clipmap */ #ifdef GL_SGIX_convolution_accuracy _glewInfo_GL_SGIX_convolution_accuracy(); #endif /* GL_SGIX_convolution_accuracy */ #ifdef GL_SGIX_depth_texture _glewInfo_GL_SGIX_depth_texture(); #endif /* GL_SGIX_depth_texture */ #ifdef GL_SGIX_flush_raster _glewInfo_GL_SGIX_flush_raster(); #endif /* GL_SGIX_flush_raster */ #ifdef GL_SGIX_fog_offset _glewInfo_GL_SGIX_fog_offset(); #endif /* GL_SGIX_fog_offset */ #ifdef GL_SGIX_fog_texture _glewInfo_GL_SGIX_fog_texture(); #endif /* GL_SGIX_fog_texture */ #ifdef GL_SGIX_fragment_specular_lighting _glewInfo_GL_SGIX_fragment_specular_lighting(); #endif /* GL_SGIX_fragment_specular_lighting */ #ifdef GL_SGIX_framezoom _glewInfo_GL_SGIX_framezoom(); #endif /* GL_SGIX_framezoom */ #ifdef GL_SGIX_interlace _glewInfo_GL_SGIX_interlace(); #endif /* GL_SGIX_interlace */ #ifdef GL_SGIX_ir_instrument1 _glewInfo_GL_SGIX_ir_instrument1(); #endif /* GL_SGIX_ir_instrument1 */ #ifdef GL_SGIX_list_priority _glewInfo_GL_SGIX_list_priority(); #endif /* GL_SGIX_list_priority */ #ifdef GL_SGIX_pixel_texture _glewInfo_GL_SGIX_pixel_texture(); #endif /* GL_SGIX_pixel_texture */ #ifdef GL_SGIX_pixel_texture_bits _glewInfo_GL_SGIX_pixel_texture_bits(); #endif /* GL_SGIX_pixel_texture_bits */ #ifdef GL_SGIX_reference_plane _glewInfo_GL_SGIX_reference_plane(); #endif /* GL_SGIX_reference_plane */ #ifdef GL_SGIX_resample _glewInfo_GL_SGIX_resample(); #endif /* GL_SGIX_resample */ #ifdef GL_SGIX_shadow _glewInfo_GL_SGIX_shadow(); #endif /* GL_SGIX_shadow */ #ifdef GL_SGIX_shadow_ambient _glewInfo_GL_SGIX_shadow_ambient(); #endif /* GL_SGIX_shadow_ambient */ #ifdef GL_SGIX_sprite _glewInfo_GL_SGIX_sprite(); #endif /* GL_SGIX_sprite */ #ifdef GL_SGIX_tag_sample_buffer _glewInfo_GL_SGIX_tag_sample_buffer(); #endif /* GL_SGIX_tag_sample_buffer */ #ifdef GL_SGIX_texture_add_env _glewInfo_GL_SGIX_texture_add_env(); #endif /* GL_SGIX_texture_add_env */ #ifdef GL_SGIX_texture_coordinate_clamp _glewInfo_GL_SGIX_texture_coordinate_clamp(); #endif /* GL_SGIX_texture_coordinate_clamp */ #ifdef GL_SGIX_texture_lod_bias _glewInfo_GL_SGIX_texture_lod_bias(); #endif /* GL_SGIX_texture_lod_bias */ #ifdef GL_SGIX_texture_multi_buffer _glewInfo_GL_SGIX_texture_multi_buffer(); #endif /* GL_SGIX_texture_multi_buffer */ #ifdef GL_SGIX_texture_range _glewInfo_GL_SGIX_texture_range(); #endif /* GL_SGIX_texture_range */ #ifdef GL_SGIX_texture_scale_bias _glewInfo_GL_SGIX_texture_scale_bias(); #endif /* GL_SGIX_texture_scale_bias */ #ifdef GL_SGIX_vertex_preclip _glewInfo_GL_SGIX_vertex_preclip(); #endif /* GL_SGIX_vertex_preclip */ #ifdef GL_SGIX_vertex_preclip_hint _glewInfo_GL_SGIX_vertex_preclip_hint(); #endif /* GL_SGIX_vertex_preclip_hint */ #ifdef GL_SGIX_ycrcb _glewInfo_GL_SGIX_ycrcb(); #endif /* GL_SGIX_ycrcb */ #ifdef GL_SGI_color_matrix _glewInfo_GL_SGI_color_matrix(); #endif /* GL_SGI_color_matrix */ #ifdef GL_SGI_color_table _glewInfo_GL_SGI_color_table(); #endif /* GL_SGI_color_table */ #ifdef GL_SGI_texture_color_table _glewInfo_GL_SGI_texture_color_table(); #endif /* GL_SGI_texture_color_table */ #ifdef GL_SUNX_constant_data _glewInfo_GL_SUNX_constant_data(); #endif /* GL_SUNX_constant_data */ #ifdef GL_SUN_convolution_border_modes _glewInfo_GL_SUN_convolution_border_modes(); #endif /* GL_SUN_convolution_border_modes */ #ifdef GL_SUN_global_alpha _glewInfo_GL_SUN_global_alpha(); #endif /* GL_SUN_global_alpha */ #ifdef GL_SUN_mesh_array _glewInfo_GL_SUN_mesh_array(); #endif /* GL_SUN_mesh_array */ #ifdef GL_SUN_read_video_pixels _glewInfo_GL_SUN_read_video_pixels(); #endif /* GL_SUN_read_video_pixels */ #ifdef GL_SUN_slice_accum _glewInfo_GL_SUN_slice_accum(); #endif /* GL_SUN_slice_accum */ #ifdef GL_SUN_triangle_list _glewInfo_GL_SUN_triangle_list(); #endif /* GL_SUN_triangle_list */ #ifdef GL_SUN_vertex _glewInfo_GL_SUN_vertex(); #endif /* GL_SUN_vertex */ #ifdef GL_WIN_phong_shading _glewInfo_GL_WIN_phong_shading(); #endif /* GL_WIN_phong_shading */ #ifdef GL_WIN_specular_fog _glewInfo_GL_WIN_specular_fog(); #endif /* GL_WIN_specular_fog */ #ifdef GL_WIN_swap_hint _glewInfo_GL_WIN_swap_hint(); #endif /* GL_WIN_swap_hint */ } /* ------------------------------------------------------------------------ */ #ifdef _WIN32 static void wglewInfo () { #ifdef WGL_3DFX_multisample _glewInfo_WGL_3DFX_multisample(); #endif /* WGL_3DFX_multisample */ #ifdef WGL_3DL_stereo_control _glewInfo_WGL_3DL_stereo_control(); #endif /* WGL_3DL_stereo_control */ #ifdef WGL_ARB_buffer_region _glewInfo_WGL_ARB_buffer_region(); #endif /* WGL_ARB_buffer_region */ #ifdef WGL_ARB_create_context _glewInfo_WGL_ARB_create_context(); #endif /* WGL_ARB_create_context */ #ifdef WGL_ARB_extensions_string _glewInfo_WGL_ARB_extensions_string(); #endif /* WGL_ARB_extensions_string */ #ifdef WGL_ARB_framebuffer_sRGB _glewInfo_WGL_ARB_framebuffer_sRGB(); #endif /* WGL_ARB_framebuffer_sRGB */ #ifdef WGL_ARB_make_current_read _glewInfo_WGL_ARB_make_current_read(); #endif /* WGL_ARB_make_current_read */ #ifdef WGL_ARB_multisample _glewInfo_WGL_ARB_multisample(); #endif /* WGL_ARB_multisample */ #ifdef WGL_ARB_pbuffer _glewInfo_WGL_ARB_pbuffer(); #endif /* WGL_ARB_pbuffer */ #ifdef WGL_ARB_pixel_format _glewInfo_WGL_ARB_pixel_format(); #endif /* WGL_ARB_pixel_format */ #ifdef WGL_ARB_pixel_format_float _glewInfo_WGL_ARB_pixel_format_float(); #endif /* WGL_ARB_pixel_format_float */ #ifdef WGL_ARB_render_texture _glewInfo_WGL_ARB_render_texture(); #endif /* WGL_ARB_render_texture */ #ifdef WGL_ATI_pixel_format_float _glewInfo_WGL_ATI_pixel_format_float(); #endif /* WGL_ATI_pixel_format_float */ #ifdef WGL_ATI_render_texture_rectangle _glewInfo_WGL_ATI_render_texture_rectangle(); #endif /* WGL_ATI_render_texture_rectangle */ #ifdef WGL_EXT_depth_float _glewInfo_WGL_EXT_depth_float(); #endif /* WGL_EXT_depth_float */ #ifdef WGL_EXT_display_color_table _glewInfo_WGL_EXT_display_color_table(); #endif /* WGL_EXT_display_color_table */ #ifdef WGL_EXT_extensions_string _glewInfo_WGL_EXT_extensions_string(); #endif /* WGL_EXT_extensions_string */ #ifdef WGL_EXT_framebuffer_sRGB _glewInfo_WGL_EXT_framebuffer_sRGB(); #endif /* WGL_EXT_framebuffer_sRGB */ #ifdef WGL_EXT_make_current_read _glewInfo_WGL_EXT_make_current_read(); #endif /* WGL_EXT_make_current_read */ #ifdef WGL_EXT_multisample _glewInfo_WGL_EXT_multisample(); #endif /* WGL_EXT_multisample */ #ifdef WGL_EXT_pbuffer _glewInfo_WGL_EXT_pbuffer(); #endif /* WGL_EXT_pbuffer */ #ifdef WGL_EXT_pixel_format _glewInfo_WGL_EXT_pixel_format(); #endif /* WGL_EXT_pixel_format */ #ifdef WGL_EXT_pixel_format_packed_float _glewInfo_WGL_EXT_pixel_format_packed_float(); #endif /* WGL_EXT_pixel_format_packed_float */ #ifdef WGL_EXT_swap_control _glewInfo_WGL_EXT_swap_control(); #endif /* WGL_EXT_swap_control */ #ifdef WGL_I3D_digital_video_control _glewInfo_WGL_I3D_digital_video_control(); #endif /* WGL_I3D_digital_video_control */ #ifdef WGL_I3D_gamma _glewInfo_WGL_I3D_gamma(); #endif /* WGL_I3D_gamma */ #ifdef WGL_I3D_genlock _glewInfo_WGL_I3D_genlock(); #endif /* WGL_I3D_genlock */ #ifdef WGL_I3D_image_buffer _glewInfo_WGL_I3D_image_buffer(); #endif /* WGL_I3D_image_buffer */ #ifdef WGL_I3D_swap_frame_lock _glewInfo_WGL_I3D_swap_frame_lock(); #endif /* WGL_I3D_swap_frame_lock */ #ifdef WGL_I3D_swap_frame_usage _glewInfo_WGL_I3D_swap_frame_usage(); #endif /* WGL_I3D_swap_frame_usage */ #ifdef WGL_NV_float_buffer _glewInfo_WGL_NV_float_buffer(); #endif /* WGL_NV_float_buffer */ #ifdef WGL_NV_gpu_affinity _glewInfo_WGL_NV_gpu_affinity(); #endif /* WGL_NV_gpu_affinity */ #ifdef WGL_NV_present_video _glewInfo_WGL_NV_present_video(); #endif /* WGL_NV_present_video */ #ifdef WGL_NV_render_depth_texture _glewInfo_WGL_NV_render_depth_texture(); #endif /* WGL_NV_render_depth_texture */ #ifdef WGL_NV_render_texture_rectangle _glewInfo_WGL_NV_render_texture_rectangle(); #endif /* WGL_NV_render_texture_rectangle */ #ifdef WGL_NV_swap_group _glewInfo_WGL_NV_swap_group(); #endif /* WGL_NV_swap_group */ #ifdef WGL_NV_vertex_array_range _glewInfo_WGL_NV_vertex_array_range(); #endif /* WGL_NV_vertex_array_range */ #ifdef WGL_NV_video_output _glewInfo_WGL_NV_video_output(); #endif /* WGL_NV_video_output */ #ifdef WGL_OML_sync_control _glewInfo_WGL_OML_sync_control(); #endif /* WGL_OML_sync_control */ } #else /* _UNIX */ static void glxewInfo () { #ifdef GLX_VERSION_1_2 _glewInfo_GLX_VERSION_1_2(); #endif /* GLX_VERSION_1_2 */ #ifdef GLX_VERSION_1_3 _glewInfo_GLX_VERSION_1_3(); #endif /* GLX_VERSION_1_3 */ #ifdef GLX_VERSION_1_4 _glewInfo_GLX_VERSION_1_4(); #endif /* GLX_VERSION_1_4 */ #ifdef GLX_3DFX_multisample _glewInfo_GLX_3DFX_multisample(); #endif /* GLX_3DFX_multisample */ #ifdef GLX_ARB_create_context _glewInfo_GLX_ARB_create_context(); #endif /* GLX_ARB_create_context */ #ifdef GLX_ARB_fbconfig_float _glewInfo_GLX_ARB_fbconfig_float(); #endif /* GLX_ARB_fbconfig_float */ #ifdef GLX_ARB_framebuffer_sRGB _glewInfo_GLX_ARB_framebuffer_sRGB(); #endif /* GLX_ARB_framebuffer_sRGB */ #ifdef GLX_ARB_get_proc_address _glewInfo_GLX_ARB_get_proc_address(); #endif /* GLX_ARB_get_proc_address */ #ifdef GLX_ARB_multisample _glewInfo_GLX_ARB_multisample(); #endif /* GLX_ARB_multisample */ #ifdef GLX_ATI_pixel_format_float _glewInfo_GLX_ATI_pixel_format_float(); #endif /* GLX_ATI_pixel_format_float */ #ifdef GLX_ATI_render_texture _glewInfo_GLX_ATI_render_texture(); #endif /* GLX_ATI_render_texture */ #ifdef GLX_EXT_fbconfig_packed_float _glewInfo_GLX_EXT_fbconfig_packed_float(); #endif /* GLX_EXT_fbconfig_packed_float */ #ifdef GLX_EXT_framebuffer_sRGB _glewInfo_GLX_EXT_framebuffer_sRGB(); #endif /* GLX_EXT_framebuffer_sRGB */ #ifdef GLX_EXT_import_context _glewInfo_GLX_EXT_import_context(); #endif /* GLX_EXT_import_context */ #ifdef GLX_EXT_scene_marker _glewInfo_GLX_EXT_scene_marker(); #endif /* GLX_EXT_scene_marker */ #ifdef GLX_EXT_texture_from_pixmap _glewInfo_GLX_EXT_texture_from_pixmap(); #endif /* GLX_EXT_texture_from_pixmap */ #ifdef GLX_EXT_visual_info _glewInfo_GLX_EXT_visual_info(); #endif /* GLX_EXT_visual_info */ #ifdef GLX_EXT_visual_rating _glewInfo_GLX_EXT_visual_rating(); #endif /* GLX_EXT_visual_rating */ #ifdef GLX_MESA_agp_offset _glewInfo_GLX_MESA_agp_offset(); #endif /* GLX_MESA_agp_offset */ #ifdef GLX_MESA_copy_sub_buffer _glewInfo_GLX_MESA_copy_sub_buffer(); #endif /* GLX_MESA_copy_sub_buffer */ #ifdef GLX_MESA_pixmap_colormap _glewInfo_GLX_MESA_pixmap_colormap(); #endif /* GLX_MESA_pixmap_colormap */ #ifdef GLX_MESA_release_buffers _glewInfo_GLX_MESA_release_buffers(); #endif /* GLX_MESA_release_buffers */ #ifdef GLX_MESA_set_3dfx_mode _glewInfo_GLX_MESA_set_3dfx_mode(); #endif /* GLX_MESA_set_3dfx_mode */ #ifdef GLX_NV_float_buffer _glewInfo_GLX_NV_float_buffer(); #endif /* GLX_NV_float_buffer */ #ifdef GLX_NV_present_video _glewInfo_GLX_NV_present_video(); #endif /* GLX_NV_present_video */ #ifdef GLX_NV_swap_group _glewInfo_GLX_NV_swap_group(); #endif /* GLX_NV_swap_group */ #ifdef GLX_NV_vertex_array_range _glewInfo_GLX_NV_vertex_array_range(); #endif /* GLX_NV_vertex_array_range */ #ifdef GLX_NV_video_output _glewInfo_GLX_NV_video_output(); #endif /* GLX_NV_video_output */ #ifdef GLX_OML_swap_method _glewInfo_GLX_OML_swap_method(); #endif /* GLX_OML_swap_method */ #if defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) #include _glewInfo_GLX_OML_sync_control(); #endif /* GLX_OML_sync_control */ #ifdef GLX_SGIS_blended_overlay _glewInfo_GLX_SGIS_blended_overlay(); #endif /* GLX_SGIS_blended_overlay */ #ifdef GLX_SGIS_color_range _glewInfo_GLX_SGIS_color_range(); #endif /* GLX_SGIS_color_range */ #ifdef GLX_SGIS_multisample _glewInfo_GLX_SGIS_multisample(); #endif /* GLX_SGIS_multisample */ #ifdef GLX_SGIS_shared_multisample _glewInfo_GLX_SGIS_shared_multisample(); #endif /* GLX_SGIS_shared_multisample */ #ifdef GLX_SGIX_fbconfig _glewInfo_GLX_SGIX_fbconfig(); #endif /* GLX_SGIX_fbconfig */ #ifdef GLX_SGIX_hyperpipe _glewInfo_GLX_SGIX_hyperpipe(); #endif /* GLX_SGIX_hyperpipe */ #ifdef GLX_SGIX_pbuffer _glewInfo_GLX_SGIX_pbuffer(); #endif /* GLX_SGIX_pbuffer */ #ifdef GLX_SGIX_swap_barrier _glewInfo_GLX_SGIX_swap_barrier(); #endif /* GLX_SGIX_swap_barrier */ #ifdef GLX_SGIX_swap_group _glewInfo_GLX_SGIX_swap_group(); #endif /* GLX_SGIX_swap_group */ #ifdef GLX_SGIX_video_resize _glewInfo_GLX_SGIX_video_resize(); #endif /* GLX_SGIX_video_resize */ #ifdef GLX_SGIX_visual_select_group _glewInfo_GLX_SGIX_visual_select_group(); #endif /* GLX_SGIX_visual_select_group */ #ifdef GLX_SGI_cushion _glewInfo_GLX_SGI_cushion(); #endif /* GLX_SGI_cushion */ #ifdef GLX_SGI_make_current_read _glewInfo_GLX_SGI_make_current_read(); #endif /* GLX_SGI_make_current_read */ #ifdef GLX_SGI_swap_control _glewInfo_GLX_SGI_swap_control(); #endif /* GLX_SGI_swap_control */ #ifdef GLX_SGI_video_sync _glewInfo_GLX_SGI_video_sync(); #endif /* GLX_SGI_video_sync */ #ifdef GLX_SUN_get_transparent_index _glewInfo_GLX_SUN_get_transparent_index(); #endif /* GLX_SUN_get_transparent_index */ #ifdef GLX_SUN_video_resize _glewInfo_GLX_SUN_video_resize(); #endif /* GLX_SUN_video_resize */ } #endif /* _WIN32 */ /* ------------------------------------------------------------------------ */ #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) int main (int argc, char** argv) #else int main (void) #endif { GLuint err; #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) char* display = NULL; int visual = -1; if (glewParseArgs(argc-1, argv+1, &display, &visual)) { #if defined(_WIN32) fprintf(stderr, "Usage: glewinfo [-pf ]\n"); #else fprintf(stderr, "Usage: glewinfo [-display ] [-visual ]\n"); #endif return 1; } #endif #if defined(_WIN32) if (GL_TRUE == glewCreateContext(&visual)) #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) if (GL_TRUE == glewCreateContext()) #else if (GL_TRUE == glewCreateContext(display, &visual)) #endif { fprintf(stderr, "Error: glewCreateContext failed\n"); glewDestroyContext(); return 1; } glewExperimental = GL_TRUE; #ifdef GLEW_MX err = glewContextInit(glewGetContext()); #ifdef _WIN32 err = err || wglewContextInit(wglewGetContext()); #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) err = err || glxewContextInit(glxewGetContext()); #endif #else err = glewInit(); #endif if (GLEW_OK != err) { fprintf(stderr, "Error [main]: glewInit failed: %s\n", glewGetErrorString(err)); glewDestroyContext(); return 1; } #if defined(_WIN32) f = fopen("glewinfo.txt", "w"); if (f == NULL) f = stdout; #else f = stdout; #endif fprintf(f, "---------------------------\n"); fprintf(f, " GLEW Extension Info\n"); fprintf(f, "---------------------------\n\n"); fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION)); #if defined(_WIN32) fprintf(f, "Reporting capabilities of pixelformat %d\n", visual); #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX) fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n", display == NULL ? getenv("DISPLAY") : display, visual); #endif fprintf(f, "Running on a %s from %s\n", glGetString(GL_RENDERER), glGetString(GL_VENDOR)); fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION)); glewInfo(); #if defined(_WIN32) wglewInfo(); #else glxewInfo(); #endif if (f != stdout) fclose(f); glewDestroyContext(); return 0; } /* ------------------------------------------------------------------------ */ #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX) GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual) { int p = 0; while (p < argc) { #if defined(_WIN32) if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat")) { if (++p >= argc) return GL_TRUE; *display = 0; *visual = strtol(argv[p++], NULL, 0); } else return GL_TRUE; #else if (!strcmp(argv[p], "-display")) { if (++p >= argc) return GL_TRUE; *display = argv[p++]; } else if (!strcmp(argv[p], "-visual")) { if (++p >= argc) return GL_TRUE; *visual = (int)strtol(argv[p++], NULL, 0); } else return GL_TRUE; #endif } return GL_FALSE; } #endif /* ------------------------------------------------------------------------ */ #if defined(_WIN32) HWND wnd = NULL; HDC dc = NULL; HGLRC rc = NULL; GLboolean glewCreateContext (int* pixelformat) { WNDCLASS wc; PIXELFORMATDESCRIPTOR pfd; /* register window class */ ZeroMemory(&wc, sizeof(WNDCLASS)); wc.hInstance = GetModuleHandle(NULL); wc.lpfnWndProc = DefWindowProc; wc.lpszClassName = "GLEW"; if (0 == RegisterClass(&wc)) return GL_TRUE; /* create window */ wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL); if (NULL == wnd) return GL_TRUE; /* get the device context */ dc = GetDC(wnd); if (NULL == dc) return GL_TRUE; /* find pixel format */ ZeroMemory(&pfd, sizeof(PIXELFORMATDESCRIPTOR)); if (*pixelformat == -1) /* find default */ { pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL; *pixelformat = ChoosePixelFormat(dc, &pfd); if (*pixelformat == 0) return GL_TRUE; } /* set the pixel format for the dc */ if (FALSE == SetPixelFormat(dc, *pixelformat, &pfd)) return GL_TRUE; /* create rendering context */ rc = wglCreateContext(dc); if (NULL == rc) return GL_TRUE; if (FALSE == wglMakeCurrent(dc, rc)) return GL_TRUE; return GL_FALSE; } void glewDestroyContext () { if (NULL != rc) wglMakeCurrent(NULL, NULL); if (NULL != rc) wglDeleteContext(wglGetCurrentContext()); if (NULL != wnd && NULL != dc) ReleaseDC(wnd, dc); if (NULL != wnd) DestroyWindow(wnd); UnregisterClass("GLEW", GetModuleHandle(NULL)); } /* ------------------------------------------------------------------------ */ #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX) #include AGLContext ctx, octx; GLboolean glewCreateContext () { int attrib[] = { AGL_RGBA, AGL_NONE }; AGLPixelFormat pf; /*int major, minor; SetPortWindowPort(wnd); aglGetVersion(&major, &minor); fprintf(stderr, "GL %d.%d\n", major, minor);*/ pf = aglChoosePixelFormat(NULL, 0, attrib); if (NULL == pf) return GL_TRUE; ctx = aglCreateContext(pf, NULL); if (NULL == ctx || AGL_NO_ERROR != aglGetError()) return GL_TRUE; aglDestroyPixelFormat(pf); /*aglSetDrawable(ctx, GetWindowPort(wnd));*/ octx = aglGetCurrentContext(); if (NULL == aglSetCurrentContext(ctx)) return GL_TRUE; return GL_FALSE; } void glewDestroyContext () { aglSetCurrentContext(octx); if (NULL != ctx) aglDestroyContext(ctx); } /* ------------------------------------------------------------------------ */ #else /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */ Display* dpy = NULL; XVisualInfo* vi = NULL; XVisualInfo* vis = NULL; GLXContext ctx = NULL; Window wnd = 0; Colormap cmap = 0; GLboolean glewCreateContext (const char* display, int* visual) { int attrib[] = { GLX_RGBA, GLX_DOUBLEBUFFER, None }; int erb, evb; XSetWindowAttributes swa; /* open display */ dpy = XOpenDisplay(display); if (NULL == dpy) return GL_TRUE; /* query for glx */ if (!glXQueryExtension(dpy, &erb, &evb)) return GL_TRUE; /* choose visual */ if (*visual == -1) { vi = glXChooseVisual(dpy, DefaultScreen(dpy), attrib); if (NULL == vi) return GL_TRUE; *visual = (int)XVisualIDFromVisual(vi->visual); } else { int n_vis, i; vis = XGetVisualInfo(dpy, 0, NULL, &n_vis); for (i=0; iscreen), 0, 0, 1, 1, 1, 0, 0);*/ cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone); swa.border_pixel = 0; swa.colormap = cmap; wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual, CWBorderPixel | CWColormap, &swa); /* make context current */ if (!glXMakeCurrent(dpy, wnd, ctx)) return GL_TRUE; return GL_FALSE; } void glewDestroyContext () { if (NULL != dpy && NULL != ctx) glXDestroyContext(dpy, ctx); if (NULL != dpy && 0 != wnd) XDestroyWindow(dpy, wnd); if (NULL != dpy && 0 != cmap) XFreeColormap(dpy, cmap); if (NULL != vis) XFree(vis); else if (NULL != vi) XFree(vi); if (NULL != dpy) XCloseDisplay(dpy); } #endif /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */