Hey,
I think I've just encountered AMD driver bug.
Compiling following shaders is fine. However, when calling glLinkProgram on program with attached shaders I get unexpected error and linking fails.
On Nvidia everything works correctly.
Vertex :
Fragment :// glslv
#version 150
struct VertParams {
vec4 _mPosition;
vec4 _mVertexColor;
};
struct InUniformParams {
vec4 _mModelViewProj[4];
};
vec4 _outHPosition1;
uniform InUniformParams _inVU1;
vec4 _r0003;
in vec4 POSITION;
// main procedure, the original name was main
void main()
{
_r0003 = POSITION.x*_inVU1._mModelViewProj[0];
_r0003 = _r0003 + POSITION.y*_inVU1._mModelViewProj[1];
_r0003 = _r0003 + POSITION.z*_inVU1._mModelViewProj[2];
_r0003 = _r0003 + POSITION.w*_inVU1._mModelViewProj[3];
_outHPosition1 = _r0003;
gl_Position = _r0003;
} // main end
What is even more surprising is the fact that program links correctly on AMD if I remove uniform struct in fragment shader - just declare uniform vec4 _mColor; and use it directly.// glslf
#version 150
struct InUniformParams {
vec4 _mColor;
};
uniform InUniformParams _inVU1;
out vec4 COL0;
// main procedure, the original name was main
void main()
{
COL0 = _inVU1._mColor;
} // main end
AMD support? AnyoneAny ideas?
btw. cheers everyone - first time posting here ;]



Any ideas?
