Updating output variables

Does the Spec. allow the update of output variables?

For Example in a variant for point-normal triangulation I use this code:

    tcw[gl_InvocationID].controlPoints[0] = vsm[gl_InvocationID].mdPosition + edge / 3.0f;
    tcw[gl_InvocationID].controlPoints[0] = tngPrj(tcw[gl_InvocationID].controlPoints[0], 
                                                   vsm[gl_InvocationID].mdPosition,
                                                   vsm[gl_InvocationID].mdNormal);

During tests on different drivers, I found that I have to rewrite the code like:

    vec3 va = vsm[gl_InvocationID].mdPosition + edge / 3.0f;
    va = tngPrj(va, 
                                                   vsm[gl_InvocationID].mdPosition,
                                                   vsm[gl_InvocationID].mdNormal);

    tcw[gl_InvocationID].controlPoints[0] = va; 

I’m not sure if I should mark this change as “bug” and regularly test it against new driver versions.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.