You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a case where a constant variable in an operation is being replaced with it's literal representation, dropping the precision qualifier. This variable was the only highp value in the operation, which means that the whole operation is now performed at mediump.
Here's the case (note that gl_FragCoord is mediump):
highpfloat time =1.0;
highpfloat dither =dot( vec2( 171.0, 231.0 ), gl_FragCoord.xy +vec2( time ) );
The tmpvar_17 calculation now contains only one variable with precision, mediump gl_FragCoord, so the calculation is performed at mediump. Replacing the 1.0 literals with a highp float initialized to 1.0 fixes the issue. The bug here seems to be that constants are being replaced by literals without considering precision.
The text was updated successfully, but these errors were encountered:
We have a case where a constant variable in an operation is being replaced with it's literal representation, dropping the precision qualifier. This variable was the only highp value in the operation, which means that the whole operation is now performed at mediump.
Here's the case (note that gl_FragCoord is mediump):
is optimized to:
The tmpvar_17 calculation now contains only one variable with precision, mediump gl_FragCoord, so the calculation is performed at mediump. Replacing the 1.0 literals with a highp float initialized to 1.0 fixes the issue. The bug here seems to be that constants are being replaced by literals without considering precision.
The text was updated successfully, but these errors were encountered: