assuming I have an array of uniform values in my shader code, i.e.:
#version 330 core
uniform vec3 samplePositions[ 16 ]
...
in my current glsl wrapper class, i query all active uniforms right after linking a program object & store the locations in a lookup table.
Now, with regards to arrays of uniforms like the above example, I’ve noticed sth. weird:
I’ll get different active uniform names depending on the graphics card; on my PC ( Radeon 6900 ) i would get an active unform named “samplePositions[0]”
while on my notebook ( Radeon 8970M ) I’d get an active uniform named just “samplePositions”.
ok, so I can easily work around this problem by just looking for both names - “samplePositions” and “samplePositions[0]” - in my table;
however, i’d still like to know if this is a driver bug on one of those cards, or if the OpenGL specification is just so vague that both results are ok,
or if using glGetActiveUniform itself is maybe problematic?