2009/6/17 Stefan Dösinger stefan@codeweavers.com:
If I have to choose between a compile failure or disabling some clipplanes I'll throw the clipplanes under the bus.
If the shader is using relative addressing, look at the highest directly addressed constant register. We know that the constant array must be at least highest_idx+1 elements large, otherwise the shader will fail for sure. If we see this problem coming, only enable as many clipplanes as we can fit into the hardware limit.
Something similar should be done in GLSL, but GLSL can only support all clipplanes or none at all.
I don't think we want this for GLSL. ARB is your own responsibility, but personally I think compile errors are much nicer to debug than the kind of graphics glitches missing clipplanes will create.