As of 2017-01-21, the canonical OpenGL Registry has been MOVED to https://www.khronos.org/registry/OpenGL/ .
The new registry location is backed by a github repository at https://github.com/KhronosGroup/OpenGL-Registry .
There will be no further updates to the public Subversion area. We are in the process of setting up redirects so that deep links under opengl.org/registry will continue to work, and the old website will remain active until those redirects are established; but everyone should begin using the new registry on khronos.org as soon as possible.
Please file issues with the new registry on the github repository.
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
- IP Disclosures Potentially Affecting OpenGL Implementations
- Adding to the Registry and Requesting Enumerant Allocations
- XML API Registry of Reserved Enumerants and Functions
- Extension Specifications
- Older Material for Reference
Current OpenGL API, OpenGL Shading Language and GLX Specifications and Reference Pages
- Current Specifications (OpenGL 4.5)
- OpenGL 4.5 API Specification (updated October 24, 2016)
- OpenGL Shading Language 4.50 Specification (updated April 14, 2016)
- OpenGL 4.5 API and Shading Language Reference Pages
- OpenGL 4.5 Quick Reference Card
- 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 supplied with the OS / graphics drivers. Additional header files are provided here, including:
- <GL/glext.h> - OpenGL 1.2 and above compatibility profile and extension interfaces.
- <GL/glcorearb.h> - OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile.
- <GL/glxext.h> - GLX 1.3 and above API and GLX extension interfaces.
- <GL/wglext.h> - WGL extension interfaces.
These headers define interfaces including enumerants, prototypes, and for platforms supporting dynamic runtime extension queries, such as Linux and Microsoft Windows, function pointer typedefs. Please report problems using the public Khronos.org Bugzilla.
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
XML API Registry of Reserved Enumerants and Functions
The API Registry is a set of XML documents defining the APIs and enumerants used in OpenGL, OpenGL ES, GLX, and WGL, as well as enumerant ranges reserved to vendors but not used yet. There are also scripts for loading the XML and processing it into header files. All documents in the registry are available from the Khronos Subversion server using anonymous public access. Start with the README .
The old ".spec" files will no longer be maintained, but are still available from Subversion. See the README.txt for a description of the contents.
Older OpenGL and GLX Specifications and Reference Pages
- OpenGL 4.4
- OpenGL 4.4 API Specification (updated March 19, 2014)
- OpenGL Shading Language 4.40 Specification (updated June 16, 2014)
- OpenGL 4.4 Quick Reference Card
- 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.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) A Japanese translation of the specification is also available.
- 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)
OpenGL Application Binary Interface for Linux
The current version of the OpenGL Application Binary Interface for Linux is also available.
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
GLX_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_hdr
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 - GL_ARB_buffer_storage
- GL_ARB_clear_texture
- GL_ARB_enhanced_layouts
- GL_ARB_multi_bind
- GL_ARB_query_buffer_object
- GL_ARB_texture_mirror_clamp_to_edge
- GL_ARB_texture_stencil8
- GL_ARB_vertex_type_10f_11f_11f_rev
- GL_ARB_bindless_texture
- GL_ARB_compute_variable_group_size
- GL_ARB_indirect_parameters
- GL_ARB_seamless_cubemap_per_texture
- GL_ARB_shader_draw_parameters
- GL_ARB_shader_group_vote
- GL_ARB_sparse_texture
- GL_ARB_ES3_1_compatibility
- GL_ARB_clip_control
- GL_ARB_conditional_render_inverted
- GL_ARB_cull_distance
- GL_ARB_derivative_control
- GL_ARB_direct_state_access
- GL_ARB_get_texture_sub_image
- GL_ARB_shader_texture_image_samples
- GL_ARB_texture_barrier
- GL_KHR_context_flush_control
GLX_ARB_context_flush_control
WGL_ARB_context_flush_control - GL_KHR_robust_buffer_access_behavior
- GL_KHR_robustness
- GL_ARB_pipeline_statistics_query
- GL_ARB_sparse_buffer
- GL_ARB_transform_feedback_overflow_query
- GL_KHR_blend_equation_advanced
GL_KHR_blend_equation_advanced_coherent - GL_KHR_no_error
- GL_ARB_ES3_2_compatibility
- GL_ARB_fragment_shader_interlock
- GL_ARB_gpu_shader_int64
- GL_ARB_parallel_shader_compile
- GL_ARB_post_depth_coverage
- GL_ARB_sample_locations
- GL_ARB_shader_atomic_counter_ops
- GL_ARB_shader_ballot
- GL_ARB_shader_clock
- GL_ARB_shader_viewport_layer_array
- GL_ARB_sparse_texture2
- GL_ARB_sparse_texture_clamp
- GL_ARB_texture_filter_minmax
- GL_KHR_texture_compression_astc_sliced_3d
- GL_ARB_gl_spirv
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_out
- 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_NVX_conditional_render
- GL_AMD_sparse_texture
- GLX_EXT_buffer_age
- GL_AMD_shader_trinary_minmax
- GL_INTEL_map_texture
- GL_NV_draw_texture
- GL_AMD_interleaved_elements
- GL_NV_bindless_multi_draw_indirect
- GL_NV_blend_equation_advanced
GL_NV_blend_equation_advanced_coherent - GL_NV_gpu_program5_mem_extended
- GL_AMD_shader_atomic_counter_ops
- WGL_NV_delay_before_swap
- GL_EXT_shader_integer_mix
- GL_NVX_gpu_memory_info
- GL_EXT_debug_label
- GL_EXT_debug_marker
- GL_INTEL_fragment_shader_ordering
- GL_AMD_occlusion_query_event
- GL_INTEL_performance_query
- GL_AMD_shader_stencil_value_export
- GLX_NV_delay_before_swap
- GLX_MESA_query_renderer
- GL_NV_shader_thread_group
- GL_NV_shader_thread_shuffle
- GL_EXT_shader_image_load_formatted
- GL_AMD_transform_feedback4
- GL_AMD_gpu_shader_int64
- GL_EXT_glx_stereo_tree
- GL_AMD_gcn_shader
- GL_NV_shader_atomic_int64
- GL_NV_bindless_multi_draw_indirect_count
- GLX_NV_copy_buffer
- GL_NV_uniform_buffer_unified_memory
- GL_EXT_polygon_offset_clamp
- GL_EXT_post_depth_coverage
- GL_EXT_raster_multisample
- GL_EXT_sparse_texture2
- GL_EXT_texture_filter_minmax
- GL_NV_conservative_raster
- GL_NV_fill_rectangle
- GL_NV_fragment_coverage_to_color
- GL_NV_fragment_shader_interlock
- GL_NV_framebuffer_mixed_samples
- GL_NV_geometry_shader_passthrough
- GL_NV_path_rendering_shared_edge
- GL_NV_sample_locations
- GL_NV_sample_mask_override_coverage
- GL_NV_shader_atomic_fp16_vector
- GL_NV_internalformat_sample_query
- GL_NV_viewport_array2
- GL_NV_command_list
- GL_OVR_multiview
- GL_OVR_multiview2
- GL_NV_conservative_raster_dilate
- GL_INTEL_framebuffer_CMAA
- GLX_EXT_libglvnd
- GL_NV_viewport_swizzle
- GL_NV_robustness_video_memory_purge
- GL_AMD_shader_explicit_vertex_parameter
- GL_NV_clip_space_w_scaling
- GL_NV_conservative_raster_pre_snap_triangles
- GL_NV_shader_atomic_float64
- GL_NV_stereo_view_rendering
- GL_EXT_window_rectangles
- GL_INTEL_conservative_rasterization
- GL_NVX_blend_equation_advanced_multi_draw_buffers
- GL_NVX_linked_gpu_multicast
- GL_NV_gpu_multicast
- GL_MESA_shader_integer_functions
- GL_AMD_gpu_shader_half_float
- GL_AMD_shader_ballot
- WGL_EXT_colorspace
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).