When will openGL2 come out??

NV_register_combiners /NV_texture_shader, or ATI_fragment_shader ? NV_vertex_programs, or EXT_vertex_shader ?
Even I don’t use programmable shader,NV_texture_env_combine4,or EXT_texture_env_combin3 ?
1 effect, write twice…SO pain…
Can you use same pipe between ATI_vertex_object and NV_Fence/GL_NV_vertex_array_range ? What the hell are they doing? Let D3D beat GL so much?

And here is my question:
Does NV has same function like ATI_texture_env_route ? I want to use 2nd color in texture env combine.But in NV_texture_env_combine4, there’s no 2nd color param! make me want to change to D3D…

With my short experience with D3D I must say that the hassle of checking all the caps bits often is more painful that dealing with extensions. You have the same problem in D3D with diverging feature sets.