Due to the yet weak implementations of GLSL, but also to provide a source for SW rasterizer implementors, I'm going to develop a GLSlang to ARB_vertex_program and ARB_fragment_program compiler. This will also include a replacement for opengl32.dll (Win32) and libGL.so (Unix alikes) to enable builtin-uniform (e.g. gl_LightSource) tracking.
The replacement library will pass through most commands directly, but will replace all Commands, affecting the uniform trackers not already provided by the old ARB_vertex_program and ARB_fragment_program extensions. e.g. Lights.
I'll also hook into GetProcAddress to provide it's own implementation of ARB_vertex_shader, ARB_fragment_shader and ARB_shader_objects.
Any help is highly appreciated, especialy in the field of bytecode optimizations, instruction grouping and optimized loop unrolling.
I also registerd it as a project as SourceForge.