Which extensions are useful with gl3?

Trying to narrow down a list of extensions which are still relevant when using a gl3 forward compatible context.

So far my list is
[ul][li] ARB_draw_instanced[] ARB_geometry_shader4[] ARB_instanced_arrays[] ARB_texture_buffer_object[] ARB_texture_rectangle[] ATI_texture_mirror_once[] EXT_bindable_uniform[] EXT_depth_bounds_test[] EXT_direct_state_access[] EXT_texture_compression_latc[] EXT_texture_compression_s3tc[] EXT_texture_filter_anisotropic[] EXT_texture_mirror_clamp[] EXT_timer_query[] NV_copy_depth_to_color[] NV_depth_clamp[] NV_framebuffer_multisample_coverage[] NV_multisample_filter_hint[] NV_parameter_buffer_object[*] NV_texture_compression_vtc[/ul][/li]That is just based on filtering out the obviously old or moved to core extensions from the extensions list on my nv card, so I’m probably missing some from other vendors.

Basically I’m looking for extensions which:

  • haven’t been added to core GL
  • haven’t been replaced by something in core (combiners, asm programs, etc)
  • have a reasonable chance of showing up on gl3 drivers/hardware
  • aren’t something that would be obviously deprecated
  • wouldn’t be better to implement by hand in a shader (some on the so far might not qualify there, didn’t read them closely)

Any suggestions for additions or removals?

Anyone have a list/documentation of the experimental extensions which arn’t documented anywhere?

Someone referred to prior the EXTX_framebuffer? extension which supported some of the GL3 framebuffer updates.

Thanks, this list is useful along with http://www.devklog.net/2008/08/23/forward-compatible-opengl-3-entry-points/

I’ll add some as I go.


Technically, this has been supplanted with NPOTs, which are standard 2.1 functionality. They’re not quite the same functionality, but it’s close enough.


I’m actually quite shocked that this isn’t standard yet. Is this something the ARB just overlooked?


The new glsl has texel integer lookups and texture size functions, so this one is useless.