PDA

View Full Version : New NV drivers return different uniform array name



Vexator
08-03-2011, 05:19 AM
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.

Xmas
08-04-2011, 05:48 AM
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.