you can find lots of NVIDIA preferential treatment in arb_program_shader.c, examples:
Originally Posted by .CME.
/* Always enable the NV extension if available. Unlike fragment shaders, there is no
* mesurable performance penalty, and we can always make use of it for clipplanes.
shader_addline(buffer, "OPTION NV_vertex_program3;\n");
priv_ctx.target_version = NV3;
shader_addline(buffer, "ADDRESS aL;\n");
I did not go deep into the code, just a couple of searches, but you either get plain ARB_vertex/fragment program (meaning ATI/AMD) or NV_* extensions on Nvidia. I guess that if you delete all the NV_* handling, it will break the same as on ATI/AMD.
/* plain GL_ARB_vertex_program or GL_ARB_fragment_program */
/* GL_NV_vertex_progam2_option or GL_NV_fragment_program_option */
/* GL_NV_vertex_program3 or GL_NV_fragment_program2 */