GL_UNIFORM_BLOCK_DATA_SIZE seems to report wrong size.

Discussion created by nesister on Oct 17, 2010
Latest reply on Oct 18, 2010 by pboudier

Hi again,

using GL_UNIFORM_BLOCK_DATA_SIZE in glGetActiveUniformBlockiv to query the minimum total buffer object size seems to report wrong informations. Querying the following program when successfuly compiled and linked returns 80 bytes for the uniform block named 'Transform'. It should return at least 128 for the two 4x4 floating point matrices it contains.


vertex shader:

#version 330

in vec3 position;

uniform Transform {

  mat4x4 modelview[2];


void main() {

  gl_Position = modelview[gl_InstanceID] * vec4(position, 1);



fragment shader:

#version 330

void main() {

  gl_FragColor = vec4(1, 0, 0, 1);



Querying 'modelview' uniform's array stride using GL_UNIFORM_ARRAY_STRIDE returns the right value with 64 bytes. I can provide a simple test case for this issue if you want.


Is there an OpenGL specific bugtracker somewhere we can use to search and eventually report issues ?