3 #extension GL_EXT_control_flow_attributes : enable
12 [[dont_unroll]] while(true) { }
17 [[unroll]] for (int i = 0; i < 8; ++i) { }
19 [[dependency_infinite]] do { } while(true);
20 [[dependency_length(1+3)]] for (int i = 0; i < 8; ++i) { }
21 [[flatten]] if (cond) { } else { }
22 [[branch]] if (cond) cond = false;
23 [[dont_flatten]] switch(3) { } // dropped
24 [[dont_flatten]] switch(3) { case 3: break; }
26 // warnings on all these
27 [[unroll(2)]] for (int i = 0; i < 8; ++i) { }
28 [[dont_unroll(-2)]] while(true) { }
29 [[dependency_infinite(3)]] do { } while(true);
30 [[dependency_length]] for (int i = 0; i < 8; ++i) { }
31 [[flatten(3)]] if (cond) { } else { }
32 [[branch(5.2)]] if (cond) cond = false;
33 [[dont_flatten(3 + 7)]] switch(3) { case 3: break; }
36 [[ unroll, dont_unroll, dependency_length(2) ]] while(cond) { }
37 [ [ dont_flatten , branch ] ] switch(3) { case 3: break; }
44 ] if (cond) { } else { }
45 [[ dependency_length(2), dependency_infinite ]] while(cond) { }