unexpected error in GLSL compilation on ati 48x0


I’m trying to implement simple ward recursive raytracing on the fragment shader in GLSL with a couple of spheres.

So typically i do something like this:

raytrace(…) {




// calculate refection vector
// calculate refraction vector and so on

This compiles and works fine, until i add the second recursive call… If i just comment out the second raytrace(…) call, i get reflected spheres with multiple rebounds (2 in this case).

I’m getting only one error in the info log:

Fragment shader(s) failed to link, vertex shader(s) failed to link.
unexpected error.
unexpected error.

Is there anything hardware related that would forbid multiple recursive function calls on ATI radeon 48x0 series, like, the lack of a stack implementation on shaders?