Dear AMD team,
I'm a OpenGL developer and I've detected a possible compiler error that not corresponds to the GLSL standard.
Here I copy the information of glew:
Log: GL_VENDOR: ATI Technologies Inc.
Log: GL_RENDERER: AMD Radeon HD 6900 Series
Log: GL_VERSION: 4.2.12002 Compatibility Profile Context 9.12.0.0
Log: GL_SHADING_LANGUAGE_VERSION: 4.20
Here the shader that I try to compile:
#version 420
layout(r32ui) uniform volatile coherent uimage2D countersImage;
void main()
{
unsigned int currentValue = imageAtomicAdd(countersImage, ivec2(gl_FragCoord.x, gl_FragCoord.y), 1);
}
And here the error that the compiler give me back:
Error: shaders/ProjectionGL4.frag: Fragment shader failed to compile with the following errors:
ERROR: 0:3: error(#392) At most one: memory qualifier is allowed
ERROR: error(#273) 1 compilation errors. No code generated
I will like to confirm if multiple memory qualifiers are supported in driver 13.1. If I'm not wrong, the standard says that multiple memory qualifiers should be possible.
I'm developing under Windows 7 x64
My graphic card is: HD6950 2G GDDR5
Thanks Xavi
Solved! Go to Solution.
Hi Xavi,
Yes, this looks like a bug. Indeed, the compiler explicitly checks that only one qualifier is used on the declaration and fails to compile your shader. Using only one of the two qualifiers (volatile or coherent) works. We will fix the issue.
Thanks,
Graham
Hi Xavi,
Yes, this looks like a bug. Indeed, the compiler explicitly checks that only one qualifier is used on the declaration and fails to compile your shader. Using only one of the two qualifiers (volatile or coherent) works. We will fix the issue.
Thanks,
Graham
Hi Graham,
Do you know in which driver version it's planned to be solved this bug?
Thanks
Xavi
It looks that the driver version 13.9 solves this bug.