Hey guys,
I have a very weird problem. When I try to use more than one uniform buffer in a shader glLinkProgram will just go into oblivion and never return.
If I define the blocks without an instance name the lock up occurs:
layout (std140) uniform LightBlock {
vec3 LightColor;
vec3 DirToLight;
vec3 AmbientColor;
};
layout (std140) uniform MaterialBlock {
vec4 Diffuse;
vec4 Specular;
};
But when I give the blocks instance names, the program runs just fine:
layout (std140) uniform LightBlock {
vec3 LightColor;
vec3 DirToLight;
vec3 AmbientColor;
} Light;
layout (std140) uniform MaterialBlock {
vec4 Diffuse;
vec4 Specular;
} Material;
This is not the behaivior described in the specs. Tbh glLinkProgram should never lock up ...
I tested the Code on a Nexus 4 (Adreno 320) and Nexus 5 (Adreno 330). Am I doing something wrong or is this a driver bug from Qualcomm?