#undef GL_EXTENSION_FUNC #undef GL_EXTENSION_FUNC_EXT //======================================================================= #define GL_EXTENSION_EXT(pre,name,val,ro,mnd,funcs,dep) { #pre, #name, #val, q##ro, q##mnd, (gl_extension_func_t * const)funcs, GLINF_FOFS(name), GLINF_FOFS(dep) } #define GL_EXTENSION(pre,name,ro,mnd,funcs) GL_EXTENSION_EXT(pre,name,1,ro,mnd,funcs,_extMarker) // // OpenGL extensions list // // short notation: vendor, name, default value, list of functions // extended notation: vendor, name, default value, list of functions, required extension static const gl_extension_t gl_extensions_decl[] = { GL_EXTENSION( ARB, multitexture, true, true, &gl_ext_multitexture_ARB_funcs ) ,GL_EXTENSION( ARB, vertex_buffer_object, true, true, &gl_ext_vertex_buffer_object_ARB_funcs ) ,GL_EXTENSION( EXT, draw_range_elements, true, true, &gl_ext_draw_range_elements_EXT_funcs ) ,GL_EXTENSION( EXT, framebuffer_object, true, true, &gl_ext_framebuffer_object_EXT_funcs ) ,GL_EXTENSION_EXT( EXT, framebuffer_blit, 1, true, false, &gl_ext_framebuffer_blit_EXT_funcs, framebuffer_object ) ,GL_EXTENSION_EXT( ARB, texture_compression, 0, false, false, NULL, _extMarker ) ,GL_EXTENSION( EXT, texture_edge_clamp, true, true, NULL ) ,GL_EXTENSION( SGIS, texture_edge_clamp, true, true, NULL ) ,GL_EXTENSION( EXT, texture_filter_anisotropic, true, false, NULL ) ,GL_EXTENSION( ARB, texture_cube_map, false, false, NULL ) ,GL_EXTENSION( EXT, bgra, true, false, NULL ) ,GL_EXTENSION( ARB, depth_texture, false, false, NULL ) ,GL_EXTENSION_EXT( ARB, shadow, 1, false, false, NULL, depth_texture ) ,GL_EXTENSION( ARB, texture_non_power_of_two, false, false, NULL ) ,GL_EXTENSION( ARB, draw_instanced, true, false, &gl_ext_draw_instanced_ARB_funcs ) ,GL_EXTENSION( ARB, instanced_arrays, false, false, &gl_ext_instanced_arrays_ARB_funcs )
#undef GL_EXTENSION_FUNC #undef GL_EXTENSION_FUNC_EXT //======================================================================= #define GL_EXTENSION_EXT(pre,name,val,ro,funcs,dep) { #pre, #name, #val, q##ro, (gl_extension_func_t * const)funcs, GLINF_FOFS(name), GLINF_FOFS(dep) } #define GL_EXTENSION(pre,name,ro,funcs) GL_EXTENSION_EXT(pre,name,1,ro,funcs,_extMarker) // // OpenGL extensions list // // short notation: vendor, name, default value, list of functions // extended notation: vendor, name, default value, list of functions, required extension static const gl_extension_t gl_extensions_decl[] = { GL_EXTENSION( ARB, multitexture, true, &gl_ext_multitexture_ARB_funcs ) ,GL_EXTENSION( SGIS, multitexture, true, &gl_ext_multitexture_SGIS_funcs ) ,GL_EXTENSION( EXT, compiled_vertex_array, true, &gl_ext_compiled_vertex_array_EXT_funcs ) ,GL_EXTENSION( SGI, compiled_vertex_array, true, &gl_ext_compiled_vertex_array_EXT_funcs ) ,GL_EXTENSION( ARB, vertex_buffer_object, true, &gl_ext_vertex_buffer_object_ARB_funcs ) ,GL_EXTENSION( EXT, texture3D, false, &gl_ext_texture3D_EXT_funcs ) ,GL_EXTENSION( EXT, draw_range_elements, true, &gl_ext_draw_range_elements_EXT_funcs ) ,GL_EXTENSION( ARB, occlusion_query, false, &gl_ext_occlusion_query_ARB_funcs ) ,GL_EXTENSION( EXT, framebuffer_object, true, &gl_ext_framebuffer_object_EXT_funcs ) ,GL_EXTENSION( ARB, texture_env_add, true, NULL ) ,GL_EXTENSION( ARB, texture_env_combine, true, NULL ) ,GL_EXTENSION( EXT, texture_env_combine, true, NULL ) ,GL_EXTENSION_EXT( ARB, texture_compression, 0, false, NULL, _extMarker ) ,GL_EXTENSION( EXT, texture_edge_clamp, true, NULL ) ,GL_EXTENSION( SGIS, texture_edge_clamp, true, NULL ) ,GL_EXTENSION( EXT, texture_filter_anisotropic, true, NULL )
//======================================================================= #define GL_EXTENSION_EXT(pre,name,val,ro,mnd,funcs,dep) { #pre, #name, #val, ro, mnd, (gl_extension_func_t * const)funcs, GLINF_FOFS(name), GLINF_FOFS(dep) } #define GL_EXTENSION(pre,name,ro,mnd,funcs) GL_EXTENSION_EXT(pre,name,1,ro,mnd,funcs,_extMarker) // // OpenGL extensions list // // short notation: vendor, name, default value, list of functions // extended notation: vendor, name, default value, list of functions, required extension static const gl_extension_t gl_extensions_decl[] = { #ifndef GL_ES_VERSION_2_0 // extensions required by meta-extension gl_ext_GLSL GL_EXTENSION( ARB, multitexture, true, true, &gl_ext_multitexture_ARB_funcs ) ,GL_EXTENSION( ARB, vertex_buffer_object, true, true, &gl_ext_vertex_buffer_object_ARB_funcs ) ,GL_EXTENSION_EXT( ARB, vertex_shader, 1, true, true, NULL, multitexture ) ,GL_EXTENSION_EXT( ARB, fragment_shader, 1, true, true, NULL, vertex_shader ) ,GL_EXTENSION_EXT( ARB, shader_objects, 1, true,true, NULL, fragment_shader ) ,GL_EXTENSION_EXT( ARB, shading_language_100, 1, true, true, NULL, shader_objects ) // meta GLSL extensions ,GL_EXTENSION_EXT( \0, GLSL, 1, true, true, &gl_ext_GLSL_ARB_funcs, shading_language_100 ) ,GL_EXTENSION_EXT( \0, GLSL_core, 1, true, false, &gl_ext_GLSL_core_ARB_funcs, GLSL ) ,GL_EXTENSION_EXT( \0, GLSL130, 1, false, false, &gl_ext_GLSL130_ARB_funcs, GLSL ) ,GL_EXTENSION( EXT, draw_range_elements, false, false, &gl_ext_draw_range_elements_EXT_funcs ) ,GL_EXTENSION( EXT, framebuffer_object, true, true, &gl_ext_framebuffer_object_EXT_funcs ) ,GL_EXTENSION_EXT( EXT, framebuffer_blit, 1, false, false, &gl_ext_framebuffer_blit_EXT_funcs, framebuffer_object ) ,GL_EXTENSION( ARB, texture_compression, false, false, &gl_ext_texture_compression_ARB_funcs )