tags:

views:

125

answers:

1

We're a small dev team working with some GLSL that may be too large for older graphics cards to compile. We want to display a sensible error message to the user (rather than just dump the info log or output a generic 'this shader didn't work' type of message) when this happens based on the type of error.

The question is, ATI and nVidia have different conventions for these error messages and the only way I've found to decide what type of error the shader had is to parse the error string generated by glGetShaderInfoLog.

Given that, is there a listing somewhere or does anyone know what the error output for both ATI and nVidia cards looks like? Or is there a better way to detect when the instruction limit has been exceeded?

+1  A: 

Even if you know what the error messages look like now, nVidia and ATI are under no obligation to keep them the same in the next version(s) of their drivers. They basically can't be relied on for anything except debugging purposes.

I would look and see if the vendor extensions might be able to provide you with more specific diagnostic information.

Jay Kominek
http://petewarden.com/notes/archives/2005/06/fragment_progra_3.html did the trick.
Ron Warholic