New NV drivers return different uniform array name

I’ve got the following uniform block in my vertex shader:

uniform Transform
{
	mat4 view;
	mat4 model;

	mat4 bones[64];
} transform;

When setting up the corresponding uniform buffer object, glGetActiveUniformName() used to return the name “Transform.bones” for the last element. I’ve just updated my Nvidia drivers to 8.17.12.7533 (released May, 20th) and suddenly the name returned is “Transform.bones[0]”.

Why has this been changed? Has this chnage been adopted by AMD as well? I’m using OpenGL 3.3 btw.

Probably convergence with OpenGL ES. An OpenGL 3.3 implementation may return the name with or without “[0]” appended, OpenGL ES 2.0 requires returning the long variant.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.