NVIDIA 81.85 and gl_FragData

Just updated my NVIDIA drivers to the new stable version 81.85, and my GLSL programs started throwing some warnings.

Seems like ‘texture2DRect’ and ‘sampler2DRect’ (which are non-standard, admittedly) have been replaced by ‘textureRect’ and ‘samplerRect’. Any use of ‘float*’ also produces a warning, where the correct form is ‘vec*’. These are all quite reasonable, but take a look at this…

void main() {
  gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0);
}

(2) : warning C7506: OpenGL does not define the global variable gl_FragData

As far as I was aware, gl_FragData was standard and present in the GLSL spec. Did I miss something?

Edit: just spotted a GLSL forum. Perhaps this should be moved there, sorry.

Are you using the OpenGL 2.0 entry points or the old ARB ones? If you are using the old ones you may have to define the using ARB_draw_buffers extnsion at the top of the GLSL file.

Just a guess…