Attached are patches to enable support for GL_ARB_vertex_program in the r200 driver. I've tested it on my Radeon 9000 Pro and found no problems. I decided against including support for GL_NV_vertex_program, since the only programs that support the NV version but not the ARB one are some Nvidia demos. Other programs might use an Nvidia-optimized version if NV_vertex_program is available and use an ATI-optimized one if only the ARB version is there. Since Nvidia-optimized means more instructions and fewer temporary variables, while ATI-optimized means more temporary variables and fewer instructions the ATI optimized ones should run faster on this software-emulation of vertex programs.
Philipp Klaus Krause
131a132 > "GL_ARB_vertex_program", 168a170 > &_tnl_vertex_program_stage,
2045a2046,2049 > case GL_VERTEX_PROGRAM_ARB: > TCL_FALLBACK(rmesa->glCtx, R200_TCL_FALLBACK_TCL_DISABLE, state); > break; >
62a63 > #define R200_TCL_FALLBACK_VERTEX_PROGRAM 0x1000/* vertex program active */