I think there is a little bug in the dolphin_gl2.xml shader.
In the 'doLighting' function there is a line with 'spe/glossy' -> 'col += 0.25*glossy*pow(spe/glossy,8.0)*vec3(1.3,1.0,0.8)*sha*(0.3+0.7*fre)*occ;'.
When dolphin is under water, 'glossy' and 'spe' equals zero. According to specification it can produce an unspecified value.
On Intel OpenGL driver it causes a corruption - part of the dolphin body which is under water has black color.
Easy fix would be clamping the result of this division.
Could you take a closer look at that?
Thanks, I will look at a fix for the next release of MadShaders.