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
When you have a loop that has instructions with RelaxedPrecision decorations, unrolling it maintains the RelaxedPrecision decoration in the first copy of the loop, but removes it from the remaining ones.
For example, in a loop like this:
[[unroll]] for (uint i = 0; i < 16; i++) {
mediump float x = inputData[idx * 16 + i] * 16 - sum;
var += x * x;
}
When you have a loop that has instructions with
RelaxedPrecision
decorations, unrolling it maintains theRelaxedPrecision
decoration in the first copy of the loop, but removes it from the remaining ones.For example, in a loop like this:
The result is as follows:
This results in a significant performance degradation on shaders using mediump/min16float types.
Full example attached: unroll.zip
The text was updated successfully, but these errors were encountered: