Bug report: fatal error C9999: *** exception during compilation ***

On win7 64, gtx760 with driver 390.77, on gtx750ti with driver 391.01, following compute shader:

#version 430

layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
uniform float _M, _m;

layout(std430, binding = 15) writeonly buffer Buf
{
    float _value;
};


void main()
{
    float ratio = _M / _m;
    for (int i = 1; i < 2; ++i)
    {
        float p = float(i) * .5;
        _value = pow(ratio, p);
    }
}

Run by code:

glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 15, mBuf.Id);
glBufferData(GL_SHADER_STORAGE_BUFFER, sizeof(float), nullptr, GL_DYNAMIC_DRAW);

glUseProgram(mProgram.Id);
glUniform1f(mm, 1);
glUniform1f(mM, 2);
glDispatchCompute(1, 1, 1);

glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 15, mBuf.Id);
float value = 0;
glMemoryBarrier(GL_ALL_BARRIER_BITS);
glGetBufferSubData(GL_SHADER_STORAGE_BUFFER, 0, sizeof(float), &value);

If run under debug, gives crash in nvoglv64.dll on

glGetProgramiv(Id, GL_LINK_STATUS, &link);

Debug “run without debug” and release builds give exception in caption from

glGetProgramInfoLog

All correct on Intel hd4600, ati hd8750.

Related to