OpenGL® Registry
The OpenGL Registry contains specifications, header files, and related documentation for OpenGL and related APIs including GLU, GLX, and WGL. In addition to the core API specifications, many extensions to these APIs have been defined by vendors, groups of vendors, and the ARB. The Registry also contains specifications and header files for all registered extensions, written as modifications to the appropriate core API specifications.
The Registry also includes naming conventions, guidelines for creating new extensions and writing suitable extension specifications, and other documentation related to these APIs.
Table of Contents
- Current OpenGL API, Shading Language, GLX, and Related Specifications and Reference Pages
- Core API and Extension Header Files
- Older OpenGL and GLX Specifications and Reference Pages
- IP Disclosures Potentially Affecting OpenGL Implementations
- Adding to the Registry and Requesting Enumerant Allocations
- OpenGL Application Binary Interface for Linux
- Registry of Reserved Enumerants and Functions
- Extension Specifications
- ARB Extensions by number
(Note 2012/08/13: specs named GL_ARB_debug_group, GL_ARB_debug_label, and GL_ARB_debug_output2 were published in error during the initial OpenGL 4.3 release. All functionality in these documents was combined into the extension GL_KHR_debug. They have been withdrawn from the registry, and a few other extensions were renumbered to avoid holes in the numbering scheme.) - Vendor and EXT Extensions by number
- ARB Extensions by number
Current OpenGL API, OpenGL Shading Language and GLX Specifications and Reference Pages
- Current Specifications (OpenGL 4.3)
- OpenGL 4.3 Core Profile Specification (updated February 14, 2013)
- OpenGL 4.3 Core Profile Specification with changes marked (updated February 14, 2013)
- OpenGL 4.3 Compatibility Profile Specification (updated February 14, 2013)
- OpenGL 4.3 Compatibility Profile Specification with changes marked (updated February 14, 2013)
- OpenGL Shading Language 4.30.8 Specification (updated February 7, 2013)
- OpenGL 4.3 Reference Pages
- OpenGL Shading Language Reference Pages
- OpenGL X Window System Binding (GLX 1.4) Specification
- GLX 1.4 Specification (December 16, 2005)
API and Extension Header Files
Because extensions vary from platform to platform and driver to driver, OpenGL developers can't expect interfaces for all extensions to be defined in the standard gl.h, glx.h, and wgl.h header files. Additional header files - glext.h, glxext.h, and wglext.h - are provided here.
These headers define interfaces (enumerants, prototypes, and for platforms supporting dynamic runtime extension queries, such as Linux and Microsoft Windows, function pointer typedefs) for all registered extensions.
Core Profile API Header
glcorearb.h contains interfaces for the core profile of OpenGL and ARB extensions, as described in appendix G.2 of the OpenGL 4.3 Specification. It does not include interfaces found only in the compatibility profile.
Note: glcorearb.h replaces the old gl3.h draft header, but it is not specific to OpenGL 3.x and we changed the name accordingly.
We may in the future create a glcoreext.h if and when there is demand for a header describing vendor extension interfaces that are known to work with core profile contexts. No such header exists at present.
Please read the release notes near the top of glcorearb.h before attempting to use it.
Older OpenGL and GLX Specifications and Reference Pages
- OpenGL 4.2
- OpenGL 4.2 Core Profile Specification (updated April 27, 2012)
- OpenGL 4.2 Core Profile Specification with changes marked (updated April 27, 2012)
- OpenGL 4.2 Compatibility Profile Specification (updated April 27, 2012)
- OpenGL 4.2 Compatibility Profile Specification with changes marked (updated April 27, 2012)
- OpenGL Shading Language 4.20.11 Specification (updated December 12, 2011)
- OpenGL Shading Language 4.20.11 Specification (updated December 12, 2011) with changes marked
- OpenGL 4.1
- OpenGL 4.1 Core Profile Specification (updated July 25, 2010)
- OpenGL 4.1 Core Profile Specification with changes marked (updated July 25, 2010)
- OpenGL 4.1 Compatibility Profile Specification (updated July 25, 2010)
- OpenGL 4.1 Compatibility Profile Specification with changes marked (updated July 25, 2010)
- OpenGL Shading Language 4.10.6 Specification (updated July 24, 2010)
- OpenGL Shading Language 4.10.6 Specification (updated July 24, 2010) with changes marked
- OpenGL 4.0
- OpenGL 4.0 Core Profile Specification (updated March 11, 2010)
- OpenGL 4.0 Core Profile Specification with changes marked (updated March 11, 2010)
- OpenGL 4.0 Compatibility Profile Specification (updated March 11, 2010)
- OpenGL 4.0 Compatibility Profile Specification with changes marked (updated March 11, 2010)
- OpenGL Shading Language 4.00.9 Specification (updated July 24, 2010)
- OpenGL 3.3
- OpenGL 3.3 Core Profile Specification (updated March 11, 2010)
- OpenGL 3.3 Core Profile Specification with changes marked (updated March 11, 2010)
- OpenGL 3.3 Compatibility Profile Specification (updated March 11, 2010)
- OpenGL 3.3 Compatibility Profile Specification with changes marked (updated March 11, 2010)
- OpenGL Shading Language 3.30.6 Specification (updated March 11, 2010)
- OpenGL 3.3 Reference Pages
- OpenGL 3.3 Reference Pages
- OpenGL 3.2
- OpenGL 3.2 Core Profile Specification (updated December 7, 2009)
- OpenGL 3.2 Core Profile Specification with changes marked (updated December 7, 2009)
- OpenGL 3.2 Compatibility Profile Specification (updated December 7, 2009)
- OpenGL 3.2 Compatibility Profile Specification with changes marked (updated December 7, 2009)
- OpenGL Shading Language 1.50.11 Specification (updated December 4, 2009)
- OpenGL 3.1
- OpenGL 3.1 Specification (updated May 28, 2009)
- OpenGL 3.1 Specification with GL_ARB_compatibility extension (updated May 28, 2009)
- OpenGL Shading Language 1.40.08 Specification (updated November 22, 2009)
- OpenGL 3.0
- OpenGL 3.0 Specification (updated September 23, 2008)
- OpenGL 3.0 Specification (August 11, 2008) with changes marked
- OpenGL Shading Language 1.30.10 Specification (updated November 22, 2009)
- OpenGL 2.1
- OpenGL 2.1 Specification (December 1, 2006)
- OpenGL Shading Language 1.20.8 Specification (September 7, 2006)
- OpenGL 2.1 Reference Pages
- OpenGL 2.1 Reference Pages
- OpenGL 2.0
- OpenGL 2.0 Specification (October 22, 2004)
- OpenGL Shading Language 1.10.59 Specification (April 30, 2004)
- OpenGL 1.5 Specification
- OpenGL 1.4 Specification
- OpenGL 1.3 Specification
- OpenGL 1.2.1 Specification
- OpenGL 1.1 Specification (PostScript format)
- OpenGL 1.0 Specification
- Older GLX Specifications
- GLX 1.3 Specification
- GLX 1.3 Protocol Encoding Specification
- GLX 1.2 Specification (PostScript format)
- GLX Protocol Slides (PostScript format; only of historical interest)
- OpenGL Utility Library (GLU) Specification
- GLU 1.3 Specification (November 4, 1998)
IP Disclosure Statements
IP Disclosure Statements from Khronos Members which bear on OpenGL are available.
Adding to the Registry and Requesting Enumerant Allocations
If you want to add an extension specification to the Registry, correct an existing specification, request allocation of enumerants and other controlled resources in the OpenGL / GLX / WGL namespaces, or otherwise change the Registry, please create a Bugzilla account on the public Khronos.org Bugzilla, and submit your request there against Product "OpenGL", Component "Registry". You can use this Bugzilla link, which fills in many fields for you.
Please review the documents linked below, especially How to Create Extensions and Enumerant Allocation Policies, before making your request.
- How to Create Extensions
- Enumerant Allocation Policies
- Extension Template
- Extension Promotion Guidelines
- Enumerant/Opcode Registry
- OpenGL Syntax Rules (updated 2006/12/13)
- OpenGL Shading Language Extension Conventions (updated 2006/12/18)
- Extension Specification Example
OpenGL Application Binary Interface for Linux
The current version of the OpenGL Application Binary Interface for Linux is also available.
Enumerant and Function Registry
The Registry includes databases defining the APIs and reserved enumerant ranges for OpenGL, GLX, and WGL. There are several of these ".spec" files for each API, described below:
- OpenGL .spec files
- enum.spec - canonical description of the reserved OpenGL enumerants and the ranges allocated for different purposes. New allocations are made here and when extensions using values in allocated ranges are registered, the enumerants in those extensions are added as well.
- enumext.spec - derived variant of enum.spec containing the enumerant values grouped by the extension or API core revision they correspond to.
- gl.spec - canonical description of the functions defined by core OpenGL and extensions. When extensions are registered, the functions they define are added here.
- gl.tm - typemap used to convert the abstract typenames in gl.spec into underlying GL types.
- enumext.spec, gl.spec, and gl.tm are used to generate glext.h
- GLX .spec files
- glxenum.spec - canonical description of the reserved GLX enumerants, like enum.spec.
- glxenumext.spec - derived variant of glxenum.spec containing the enumerant values grouped by the GLX extension or API core revision they correspond to. This only includes GLX core versions 1.3 and later.
- glx.spec - canonical description of the functions defined by core GLX up to version 1.3.
- glxext.spec - canonical description of the functions defined by GLX extensions and core versions 1.3 and later.
- glx.tm - typemap used to convert the abstract typenames in glx*.spec into underlying GLX types.
- glxenumext.spec, glxext.spec, and glx.tm are used to generate glxext.h.
- WGL .spec files
- wglenum.spec - canonical description of the reserved WGL enumerants, like enum.spec.
- wglenumext.spec - derived variant of wglenum.spec containing the enumerant values grouped by the WGL extension they correspond to. This only includes WGL core versions 1.3 and later (Microsoft has never revised the WGL core API).
- wgl.spec - canonical description of the functions defined by WGL.
- wglext.spec - canonical description of the functions defined by WGL extensions.
- wgl.tm - typemap used to convert the abstract typenames in wgl*.spec into underlying WGL and Win32 types.
- wglenumext.spec, wglext.spec, and wgl.tm are used to generate wglext.h.
(Yes, these databases should be moved to a modern XML-based format. Patience.)
ARB Extensions by number
- GL_ARB_multitexture
- GLX_ARB_get_proc_address
- GL_ARB_transpose_matrix
- WGL_ARB_buffer_region
- GL_ARB_multisample
GLX_ARB_multisample
WGL_ARB_multisample - GL_ARB_texture_env_add
- GL_ARB_texture_cube_map
- WGL_ARB_extensions_string
- WGL_ARB_pixel_format
- WGL_ARB_make_current_read
- WGL_ARB_pbuffer
- GL_ARB_texture_compression
- GL_ARB_texture_border_clamp
- GL_ARB_point_parameters
- GL_ARB_vertex_blend
- GL_ARB_matrix_palette
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- WGL_ARB_render_texture
- GL_ARB_texture_mirrored_repeat
- GL_ARB_depth_texture
- GL_ARB_shadow
- GL_ARB_shadow_ambient
- GL_ARB_window_pos
- GL_ARB_vertex_program
- GL_ARB_fragment_program
- GL_ARB_vertex_buffer_object
- GL_ARB_occlusion_query
- GL_ARB_shader_objects
- GL_ARB_vertex_shader
- GL_ARB_fragment_shader
- GL_ARB_shading_language_100
- GL_ARB_texture_non_power_of_two
- GL_ARB_point_sprite
- GL_ARB_fragment_program_shadow
- GL_ARB_draw_buffers
- GL_ARB_texture_rectangle
- GL_ARB_color_buffer_float
WGL_ARB_pixel_format_float
GLX_ARB_fbconfig_float - GL_ARB_half_float_pixel
- GL_ARB_texture_float
- GL_ARB_pixel_buffer_object
- GL_ARB_depth_buffer_float
- GL_ARB_draw_instanced
- GL_ARB_framebuffer_object
- GL_ARB_framebuffer_sRGB
GLX_ARB_framebuffer_sRGB
WGL_ARB_framebuffer_sRGB - GL_ARB_geometry_shader4
- GL_ARB_half_float_vertex
- GL_ARB_instanced_arrays
- GL_ARB_map_buffer_range
- GL_ARB_texture_buffer_object
- GL_ARB_texture_compression_rgtc
- GL_ARB_texture_rg
- GL_ARB_vertex_array_object
- WGL_ARB_create_context
- GLX_ARB_create_context
- GL_ARB_uniform_buffer_object
- GL_ARB_compatibility
- GL_ARB_copy_buffer
- GL_ARB_shader_texture_lod
- GL_ARB_depth_clamp
- GL_ARB_draw_elements_base_vertex
- GL_ARB_fragment_coord_conventions
- GL_ARB_provoking_vertex
- GL_ARB_seamless_cube_map
- GL_ARB_sync
- GL_ARB_texture_multisample
- GL_ARB_vertex_array_bgra
- GL_ARB_draw_buffers_blend
- GL_ARB_sample_shading
- GL_ARB_texture_cube_map_array
- GL_ARB_texture_gather
- GL_ARB_texture_query_lod
- WGL_ARB_create_context_profile
- GLX_ARB_create_context_profile
- GL_ARB_shading_language_include
- GL_ARB_texture_compression_bptc
- GL_ARB_blend_func_extended
- GL_ARB_explicit_attrib_location
- GL_ARB_occlusion_query2
- GL_ARB_sampler_objects
- GL_ARB_shader_bit_encoding
- GL_ARB_texture_rgb10_a2ui
- GL_ARB_texture_swizzle
- GL_ARB_timer_query
- GL_ARB_vertex_type_2_10_10_10_rev
- GL_ARB_draw_indirect
- GL_ARB_gpu_shader5
- GL_ARB_gpu_shader_fp64
- GL_ARB_shader_subroutine
- GL_ARB_tessellation_shader
- GL_ARB_texture_buffer_object_rgb32
- GL_ARB_transform_feedback2
- GL_ARB_transform_feedback3
- GL_ARB_ES2_compatibility
- GL_ARB_get_program_binary
- GL_ARB_separate_shader_objects
- GL_ARB_shader_precision
- GL_ARB_vertex_attrib_64bit
- GL_ARB_viewport_array
- GLX_ARB_create_context_robustness
- WGL_ARB_create_context_robustness
- GL_ARB_cl_event
- GL_ARB_debug_output
- GL_ARB_robustness
- GL_ARB_shader_stencil_export
- GL_ARB_base_instance
- GL_ARB_shading_language_420pack
- GL_ARB_transform_feedback_instanced
- GL_ARB_compressed_texture_pixel_storage
- GL_ARB_conservative_depth
- GL_ARB_internalformat_query
- GL_ARB_map_buffer_alignment
- GL_ARB_shader_atomic_counters
- GL_ARB_shader_image_load_store
- GL_ARB_shading_language_packing
- GL_ARB_texture_storage
- GL_KHR_texture_compression_astc_ldr
- GL_KHR_debug
- GL_ARB_arrays_of_arrays
- GL_ARB_clear_buffer_object
- GL_ARB_compute_shader
- GL_ARB_copy_image
- GL_ARB_texture_view
- GL_ARB_vertex_attrib_binding
- GL_ARB_robustness_isolation
- GL_ARB_ES3_compatibility
- GL_ARB_explicit_uniform_location
- GL_ARB_fragment_layer_viewport
- GL_ARB_framebuffer_no_attachments
- GL_ARB_internalformat_query2
- GL_ARB_invalidate_subdata
- GL_ARB_multi_draw_indirect
- GL_ARB_program_interface_query
- GL_ARB_robust_buffer_access_behavior
- GL_ARB_shader_image_size
- GL_ARB_shader_storage_buffer_object
- GL_ARB_stencil_texturing
- GL_ARB_texture_buffer_range
- GL_ARB_texture_query_levels
- GL_ARB_texture_storage_multisample
- GLX_ARB_robustness_application_isolation
GLX_ARB_robustness_share_group_isolation - WGL_ARB_robustness_application_isolation
WGL_ARB_robustness_share_group_isolation
Vendor and EXT Extensions by number
- GL_EXT_abgr
- GL_EXT_blend_color
- GL_EXT_polygon_offset
- GL_EXT_texture
- GL_EXT_texture3D
- GL_SGIS_texture_filter4
- GL_EXT_subtexture
- GL_EXT_copy_texture
- GL_EXT_histogram
- GL_EXT_convolution
- GL_SGI_color_matrix
- GL_SGI_color_table
- GL_SGIS_pixel_texture
- GL_SGIX_pixel_texture
- GL_SGIS_texture4D
- GL_SGI_texture_color_table
- GL_EXT_cmyka
- GL_EXT_texture_object
- GL_SGIS_detail_texture
- GL_SGIS_sharpen_texture
- GL_EXT_packed_pixels
- GL_SGIS_texture_lod
- GL_SGIS_multisample
GLX_SGIS_multisample - GL_EXT_rescale_normal
- GLX_EXT_visual_info
- GL_EXT_vertex_array
- GL_EXT_misc_attribute
- GL_SGIS_generate_mipmap
- GL_SGIX_clipmap
- GL_SGIX_shadow
- GL_SGIS_texture_edge_clamp
- GL_SGIS_texture_border_clamp
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_blend_logic_op
- GLX_SGI_swap_control
- GLX_SGI_video_sync
- GLX_SGI_make_current_read
- GLX_SGIX_video_source
- GLX_EXT_visual_rating
- GL_SGIX_interlace
- GLX_EXT_import_context
- GLX_SGIX_fbconfig
- GLX_SGIX_pbuffer
- GL_SGIS_texture_select
- GL_SGIX_sprite
- GL_SGIX_texture_multi_buffer
- GL_EXT_point_parameters
- GL_SGIX_instruments
- GL_SGIX_texture_scale_bias
- GL_SGIX_framezoom
- GL_SGIX_tag_sample_buffer
- GL_SGIX_reference_plane
- GL_SGIX_flush_raster
- GLX_SGI_cushion
- GL_SGIX_depth_texture
- GL_SGIS_fog_function
- GL_SGIX_fog_offset
- GL_HP_image_transform
- GL_HP_convolution_border_modes
- GL_SGIX_texture_add_env
- GL_EXT_color_subtable
- GLU_EXT_object_space_tess
- GL_PGI_vertex_hints
- GL_PGI_misc_hints
- GL_EXT_paletted_texture
- GL_EXT_clip_volume_hint
- GL_SGIX_list_priority
- GL_SGIX_ir_instrument1
- GLX_SGIX_video_resize
- GL_SGIX_texture_lod_bias
- GLU_SGI_filter4_parameters
- GLX_SGIX_dm_buffer
- GL_SGIX_shadow_ambient
- GLX_SGIX_swap_group
- GLX_SGIX_swap_barrier
- GL_EXT_index_texture
- GL_EXT_index_material
- GL_EXT_index_func
- GL_EXT_index_array_formats
- GL_EXT_compiled_vertex_array
- GL_EXT_cull_vertex
- GLU_EXT_nurbs_tessellator
- GL_SGIX_ycrcb
- GL_EXT_fragment_lighting
- GL_IBM_rasterpos_clip
- GL_HP_texture_lighting
- GL_EXT_draw_range_elements
- GL_WIN_phong_shading
- GL_WIN_specular_fog
- GLX_SGIS_color_range
GL_SGIS_color_range - GL_EXT_light_texture
- GL_SGIX_blend_alpha_minmax
- GL_EXT_scene_marker
GLX_EXT_scene_marker - GL_SGIX_pixel_texture_bits
- GL_EXT_bgra
- GL_SGIX_async
- GL_SGIX_async_pixel
- GL_SGIX_async_histogram
- GL_INTEL_texture_scissor
- GL_INTEL_parallel_arrays
- GL_HP_occlusion_test
- GL_EXT_pixel_transform
- GL_EXT_pixel_transform_color_table
- GL_EXT_shared_texture_palette
- GLX_SGIS_blended_overlay
- GL_EXT_separate_specular_color
- GL_EXT_secondary_color
- GL_EXT_texture_env
- GL_EXT_texture_perturb_normal
- GL_EXT_multi_draw_arrays
GL_SUN_multi_draw_arrays - GL_EXT_fog_coord
- GL_REND_screen_coordinates
- GL_EXT_coordinate_frame
- GL_EXT_texture_env_combine
- GL_APPLE_specular_vector
- GL_APPLE_transform_hint
- GL_SUNX_constant_data
- GL_SUN_global_alpha
- GL_SUN_triangle_list
- GL_SUN_vertex
- WGL_EXT_display_color_table
- WGL_EXT_extensions_string
- WGL_EXT_make_current_read
- WGL_EXT_pixel_format
- WGL_EXT_pbuffer
- WGL_EXT_swap_control
- GL_EXT_blend_func_separate
- GL_INGR_color_clamp
- GL_INGR_interlace_read
- GL_EXT_stencil_wrap
- WGL_EXT_depth_float
- GL_EXT_422_pixels
- GL_NV_texgen_reflection
- GL_SGIX_texture_range
- GL_SUN_convolution_border_modes
- GLX_SUN_get_transparent_index
- GL_EXT_texture_env_add
- GL_EXT_texture_lod_bias
- GL_EXT_texture_filter_anisotropic
- GL_EXT_vertex_weighting
- GL_NV_light_max_exponent
- GL_NV_vertex_array_range
- GL_NV_register_combiners
- GL_NV_fog_distance
- GL_NV_texgen_emboss
- GL_NV_blend_square
- GL_NV_texture_env_combine4
- GL_MESA_resize_buffers
- GL_MESA_window_pos
- GL_EXT_texture_compression_s3tc
- GL_IBM_cull_vertex
- GL_IBM_multimode_draw_arrays
- GL_IBM_vertex_array_lists
- GL_3DFX_texture_compression_FXT1
- GL_3DFX_multisample
- GL_3DFX_tbuffer
- WGL_EXT_multisample
GL_EXT_multisample - GL_SGIX_vertex_preclip
GL_SGIX_vertex_preclip_hint - GL_SGIX_convolution_accuracy
- GL_SGIX_resample
- GL_SGIS_point_line_texgen
- GL_SGIS_texture_color_mask
- GLX_MESA_copy_sub_buffer
- GLX_MESA_pixmap_colormap
- GLX_MESA_release_buffers
- GLX_MESA_set_3dfx_mode
- GL_EXT_texture_env_dot3
- GL_ATI_texture_mirror_once
- GL_NV_fence
- GL_IBM_static_data
- GL_IBM_texture_mirrored_repeat
- GL_NV_evaluators
- GL_NV_packed_depth_stencil
- GL_NV_register_combiners2
- GL_NV_texture_compression_vtc
- GL_NV_texture_rectangle
- GL_NV_texture_shader
- GL_NV_texture_shader2
- GL_NV_vertex_array_range2
- GL_NV_vertex_program
- GLX_SGIX_visual_select_group
- GL_SGIX_texture_coordinate_clamp
- GLX_OML_swap_method
- GLX_OML_sync_control
- GL_OML_interlace
- GL_OML_subsample
- GL_OML_resample
- WGL_OML_sync_control
- GL_NV_copy_depth_to_color
- GL_ATI_envmap_bumpmap
- GL_ATI_fragment_shader
- GL_ATI_pn_triangles
- GL_ATI_vertex_array_object
- GL_EXT_vertex_shader
- GL_ATI_vertex_streams
- WGL_I3D_digital_video_control
- WGL_I3D_gamma
- WGL_I3D_genlock
- WGL_I3D_image_buffer
- WGL_I3D_swap_frame_lock
- WGL_I3D_swap_frame_usage
- GL_ATI_element_array
- GL_SUN_mesh_array
- GL_SUN_slice_accum
- GL_NV_multisample_filter_hint
- GL_NV_depth_clamp
- GL_NV_occlusion_query
- GL_NV_point_sprite
- WGL_NV_render_depth_texture
- WGL_NV_render_texture_rectangle
- GL_NV_texture_shader3
- GL_NV_vertex_program1_1
- GL_EXT_shadow_funcs
- GL_EXT_stencil_two_side
- GL_ATI_text_fragment_shader
- GL_APPLE_client_storage
- GL_APPLE_element_array
- GL_APPLE_fence
- GL_APPLE_vertex_array_object
- GL_APPLE_vertex_array_range
- GL_APPLE_ycbcr_422
- GL_S3_s3tc
- GL_ATI_draw_buffers
- WGL_ATI_pixel_format_float
- GL_ATI_texture_env_combine3
- GL_ATI_texture_float
- GL_NV_float_buffer
WGL_NV_float_buffer - GL_NV_fragment_program
- GL_NV_half_float
- GL_NV_pixel_data_range
- GL_NV_primitive_restart
- GL_NV_texture_expand_normal
- GL_NV_vertex_program2
- GL_ATI_map_object_buffer
- GL_ATI_separate_stencil
- GL_ATI_vertex_attrib_array_object
- GL_OES_byte_coordinates
- GL_OES_fixed_point
- GL_OES_single_precision
- GL_OES_compressed_paletted_texture
- GL_OES_read_format
- GL_OES_query_matrix
- GL_EXT_depth_bounds_test
- GL_EXT_texture_mirror_clamp
- GL_EXT_blend_equation_separate
- GL_MESA_pack_invert
- GL_MESA_ycbcr_texture
- GL_EXT_pixel_buffer_object
- GL_NV_fragment_program_option
- GL_NV_fragment_program2
- GL_NV_vertex_program2_option
- GL_NV_vertex_program3
- GLX_SGIX_hyperpipe
- GLX_MESA_agp_offset
- GL_EXT_texture_compression_dxt1
- GL_EXT_framebuffer_object
- GL_GREMEDY_string_marker
- GL_EXT_packed_depth_stencil
- WGL_3DL_stereo_control
- GL_EXT_stencil_clear_tag
- GL_EXT_texture_sRGB
- GL_EXT_framebuffer_blit
- GL_EXT_framebuffer_multisample
- GL_MESAX_texture_stack
- GL_EXT_timer_query
- GL_EXT_gpu_program_parameters
- GL_APPLE_flush_buffer_range
- GL_NV_gpu_program4
- GL_NV_geometry_program4
- GL_EXT_geometry_shader4
- GL_NV_vertex_program4
- GL_EXT_gpu_shader4
- GL_EXT_draw_instanced
- GL_EXT_packed_float
WGL_EXT_pixel_format_packed_float
GLX_EXT_fbconfig_packed_float - GL_EXT_texture_array
- GL_EXT_texture_buffer_object
- GL_EXT_texture_compression_latc
- GL_EXT_texture_compression_rgtc
- GL_EXT_texture_shared_exponent
- GL_NV_depth_buffer_float
- GL_NV_fragment_program4
- GL_NV_framebuffer_multisample_coverage
- GL_EXT_framebuffer_sRGB
GLX_EXT_framebuffer_sRGB
WGL_EXT_framebuffer_sRGB - GL_NV_geometry_shader4
- GL_NV_parameter_buffer_object
- GL_EXT_draw_buffers2
- GL_NV_transform_feedback
- GL_EXT_bindable_uniform
- GL_EXT_texture_integer
- GLX_EXT_texture_from_pixmap
- GL_GREMEDY_frame_terminator
- GL_NV_conditional_render
- GL_NV_present_video
GLX_NV_present_video
WGL_NV_present_video - GLX_NV_video_output
- WGL_NV_video_output
- GLX_NV_swap_group
- WGL_NV_swap_group
- GL_EXT_transform_feedback
- GL_EXT_direct_state_access
- GL_EXT_vertex_array_bgra
- WGL_NV_gpu_affinity
- GL_EXT_texture_swizzle
- GL_NV_explicit_multisample
- GL_NV_transform_feedback2
- GL_ATI_meminfo
- GL_AMD_performance_monitor
- WGL_AMD_gpu_association
- GL_AMD_texture_texture4
- GL_AMD_vertex_shader_tessellator
- GL_EXT_provoking_vertex
- GL_EXT_texture_snorm
- GL_AMD_draw_buffers_blend
- GL_APPLE_texture_range
- GL_APPLE_float_pixels
- GL_APPLE_vertex_program_evaluators
- GL_APPLE_aux_depth_stencil
- GL_APPLE_object_purgeable
- GL_APPLE_row_bytes
- GL_APPLE_rgb_422
- GL_NV_video_capture
GLX_NV_video_capture
WGL_NV_video_capture - GL_EXT_swap_control
- GL_NV_copy_image
WGL_NV_copy_image
GLX_NV_copy_image - GL_EXT_separate_shader_objects
- GL_NV_parameter_buffer_object2
- GL_NV_shader_buffer_load
- GL_NV_vertex_buffer_unified_memory
- GL_NV_texture_barrier
- GL_AMD_shader_stencil_export
- GL_AMD_seamless_cubemap_per_texture
- GLX_INTEL_swap_event
- GL_AMD_conservative_depth
- GL_EXT_shader_image_load_store
- GL_EXT_vertex_attrib_64bit
- GL_NV_gpu_program5
- GL_NV_gpu_shader5
- GL_NV_shader_buffer_store
- GL_NV_tessellation_program5
- GL_NV_vertex_attrib_integer_64bit
- GL_NV_multisample_coverage
- GL_AMD_name_gen_delete
- GL_AMD_debug_output
- GL_NV_vdpau_interop
- GL_AMD_transform_feedback3_lines_triangles
- GLX_AMD_gpu_association
- GLX_EXT_create_context_es2_profile
GLX_EXT_create_context_es_profile - WGL_EXT_create_context_es2_profile
WGL_EXT_create_context_es_profile - GL_AMD_depth_clamp_separate
- GL_EXT_texture_sRGB_decode
- GL_NV_texture_multisample
- GL_AMD_blend_minmax_factor
- GL_AMD_sample_positions
- GL_EXT_x11_sync_object
- WGL_NV_DX_interop
- GL_AMD_multi_draw_indirect
- GL_EXT_framebuffer_multisample_blit_scaled
- GL_NV_path_rendering
- GL_AMD_pinned_memory
- WGL_NV_DX_interop2
- GL_AMD_stencil_operation_extended
- GLX_EXT_swap_control_tear
- WGL_EXT_swap_control_tear
- GL_AMD_vertex_shader_viewport_index
- GL_AMD_vertex_shader_layer
- GL_NV_bindless_texture
- GL_NV_shader_atomic_float
- GL_AMD_query_buffer_object
- GL_NV_compute_program5
- GL_NV_shader_storage_buffer_object
- GL_NV_shader_atomic_counters
- GL_NV_deep_texture3D
- GL_NV_nvx_conditional_render
- GL_AMD_sparse_texture
- GLX_EXT_buffer_age
- GL_AMD_shader_trinary_minmax
- GL_INTEL_map_texture
- GL_NV_draw_texture
Other Extensions
These extensions have not yet been assigned numbers, are still under development, or were abandoned (but are kept in the extension registry for reference purposes).
