From 57d00016cab9afa3e7853d9830044a8ece9541c4 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Fri, 23 Jan 2009 12:32:35 +0000 Subject: glew: Initial import. From glew 1.5.1 release. --- src/glew/glewinfo.c | 7180 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 7180 insertions(+) create mode 100644 src/glew/glewinfo.c (limited to 'src/glew/glewinfo.c') diff --git a/src/glew/glewinfo.c b/src/glew/glewinfo.c new file mode 100644 index 0000000000..13c6d05bd1 --- /dev/null +++ b/src/glew/glewinfo.c @@ -0,0 +1,7180 @@ +/* +** 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) */ -- cgit v1.2.3