Lines Matching refs:op

279 	std::ostringstream& op = isVertexCase ? vtx : frag;
311 op << "uniform ${COUNTER_PRECISION} int " << getIntUniformName(numLoopIters) << ";\n";
316 op << "uniform ${COUNTER_PRECISION} float " << getFloatFractionUniformName(numLoopIters) << ";\n";
319 op << "uniform ${COUNTER_PRECISION} float uf_one;\n";
355 op << " ${PRECISION} vec4 res = coords;\n";
409 op << " for (" + loopCountDeclStr + "; " + loopCmpStr + "; " + incrementStr + ")\n";
410 op << " {\n";
411 op << loopBody;
412 op << " }\n";
416 op << "\t" << loopCountDeclStr + ";\n";
417 op << " while (" + loopCmpStr + ")\n";
418 op << " {\n";
419 op << loopBody;
420 op << "\t\t" + incrementStr + ";\n";
421 op << " }\n";
425 op << "\t" << loopCountDeclStr + ";\n";
426 op << " do\n";
427 op << " {\n";
428 op << loopBody;
429 op << "\t\t" + incrementStr + ";\n";
430 op << " } while (" + loopCmpStr + ");\n";
487 std::ostringstream& op = isVertexCase ? vtx : frag;
514 op << "uniform bool ub_true;\n";
516 op << "uniform ${COUNTER_PRECISION} int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;\n";
518 op << "uniform ${COUNTER_PRECISION} int ui_oneHundredOne;\n";
525 op << "\n${PRECISION} vec4 func (in ${PRECISION} vec4 coords) { return coords.yzwx; }\n";
527 op << "\nvoid func (inout ${PRECISION} vec4 coords) { coords = coords.yzwx; }\n";
552 op << " ${PRECISION} vec4 res = coords;\n";
567 op << " ${FOR_LOOP} {}\n";
572 op << " for (;;) { break; res = res.yzwx; }\n";
577 op << " for (;;) { res = res.yzwx; break; }\n";
582 op << " ${COUNTER_PRECISION} int i = 0;\n";
583 op << " for (;;) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
587 op << " ${FOR_LOOP} res = res.yzwx;\n";
593 op << " ${FOR_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
599 op << " ${FOR_LOOP} res = res.yzwx, res = res.yzwx;\n";
605 op << " ${FOR_LOOP} res = res.yzwx;\n";
611 op << " ${FOR_LOOP} res = res.yzwx;\n";
615 op << " for (int i = 0; i < (ub_true ? ${ITER_COUNT} : 0); i++) res = res.yzwx;\n";
620 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
624 op << " ${FOR_LOOP} { res = res.yzwx; continue; }\n";
629 op << " ${FOR_LOOP} { continue; }\n";
634 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; continue; }\n";
639 op << " ${FOR_LOOP} { if (i == ${TWO}) break; res = res.yzwx; }\n";
644 op << " ${FOR_LOOP} { res = res.yzwx; break; }\n";
648 op << " for (int i = 0; i < ${ITER_COUNT}; ++i) { res = res.yzwx; }\n";
652 op << " ${FOR_LOOP} { res = res.yzwx; }\n";
658 op << " ${FOR_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
662 op << " for (${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0); i.x < i.z; i.x += i.y) { res = res.yzwx; }\n";
667 op << " ${FOR_LOOP} res = res.yzwx;\n";
673 op << " ${COUNTER_PRECISION} int i;\n";
674 op << " for (i = 0; i < ${TWO}; i++) { res = res.yzwx; }\n";
675 op << " for (; i < ${ITER_COUNT}; i++) { res = res.yzwx; }\n";
680 op << " for (${COUNTER_PRECISION} int i = 0; i < ${TWO}; i++)\n";
681 op << " {\n";
682 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ITER_COUNT}; j++)\n";
683 op << " res = res.yzwx;\n";
684 op << " }\n";
689 op << " for (${COUNTER_PRECISION} int i = 0; i < ${ITER_COUNT}; i++)\n";
690 op << " {\n";
691 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
692 op << " res = res.yzwx;\n";
693 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ONE}; j++)\n";
694 op << " res = res.yzwx;\n";
695 op << " }\n";
700 op << " ${FOR_LOOP}\n";
701 op << " {\n";
702 op << " res = coords; // ignore outer loop effect \n";
703 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
704 op << " res = res.yzwx;\n";
705 op << " }\n";
710 op << " ${FOR_LOOP}\n";
711 op << " {\n";
712 op << " res = coords.wxyz;\n";
713 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
714 op << " res = res.yzwx;\n";
715 op << " coords = res;\n";
716 op << " }\n";
721 op << " ${FOR_LOOP} if (i < 2) res = res.yzwx;\n";
726 op << " ${FOR_LOOP}\n";
727 op << " {\n";
728 op << " res = func(res);\n";
729 op << " }\n";
734 op << " ${FOR_LOOP}\n";
735 op << " {\n";
736 op << " func(res);\n";
737 op << " }\n";
759 op << " ${WHILE_LOOP} {}\n";
764 op << " while (true) { break; res = res.yzwx; }\n";
769 op << " while (true) { res = res.yzwx; break; }\n";
774 op << " ${COUNTER_PRECISION} int i = 0;\n";
775 op << " while (true) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
779 op << " ${WHILE_LOOP} res = res.yzwx;\n";
785 op << " ${WHILE_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
791 op << " ${WHILE_LOOP} res = res.yzwx, res = res.yzwx;\n";
797 op << " ${WHILE_LOOP} res = res.yzwx;\n";
803 op << " ${WHILE_LOOP} res = res.yzwx;\n";
807 op << " ${COUNTER_PRECISION} int i = 0;\n";
808 op << " while (i < (ub_true ? ${ITER_COUNT} : 0)) { res = res.yzwx; i++; }\n";
813 op << " ${WHILE_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
817 op << " ${WHILE_LOOP} { res = res.yzwx; continue; }\n";
822 op << " ${WHILE_LOOP} { continue; }\n";
827 op << " ${WHILE_LOOP} { if (i == ${ONE}) continue; res = res.yzwx; continue; }\n";
832 op << " ${WHILE_LOOP} { if (i == ${THREE}) break; res = res.yzwx; }\n";
837 op << " ${WHILE_LOOP} { res = res.yzwx; break; }\n";
842 op << " ${COUNTER_PRECISION} int i = 0;\n";
843 op << " while (++i < ${ITER_COUNT}) { res = res.yzwx; }\n";
847 op << " ${COUNTER_PRECISION} int i = 0;\n";
848 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n";
854 op << " ${WHILE_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
858 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
859 op << " while (i.x < i.z) { res = res.yzwx; i.x += i.y; }\n";
864 op << " ${WHILE_LOOP} res = res.yzwx;\n";
870 op << " ${COUNTER_PRECISION} int i = 0;\n";
871 op << " while (i++ < ${TWO}) { res = res.yzwx; }\n";
872 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n"; // \note skips one iteration
877 op << " ${COUNTER_PRECISION} int i = 0;\n";
878 op << " while (i++ < ${TWO})\n";
879 op << " {\n";
880 op << " ${COUNTER_PRECISION} int j = 0;\n";
881 op << " while (j++ < ${ITER_COUNT})\n";
882 op << " res = res.yzwx;\n";
883 op << " }\n";
888 op << " ${COUNTER_PRECISION} int i = 0;\n";
889 op << " while (i++ < ${ITER_COUNT})\n";
890 op << " {\n";
891 op << " ${COUNTER_PRECISION} int j = 0;\n";
892 op << " while (j++ < ${ONE})\n";
893 op << " res = res.yzwx;\n";
894 op << " while (j++ < ${THREE})\n"; // \note skips one iteration
895 op << " res = res.yzwx;\n";
896 op << " }\n";
901 op << " ${WHILE_LOOP}\n";
902 op << " {\n";
903 op << " res = coords; // ignore outer loop effect \n";
904 op << " ${COUNTER_PRECISION} int j = 0;\n";
905 op << " while (j++ < ${TWO})\n";
906 op << " res = res.yzwx;\n";
907 op << " }\n";
912 op << " ${WHILE_LOOP}\n";
913 op << " {\n";
914 op << " res = coords.wxyz;\n";
915 op << " ${COUNTER_PRECISION} int j = 0;\n";
916 op << " while (j++ < ${TWO})\n";
917 op << " res = res.yzwx;\n";
918 op << " coords = res;\n";
919 op << " }\n";
924 op << " ${WHILE_LOOP} if (i < 2) res = res.yzwx;\n";
929 op << " ${WHILE_LOOP}\n";
930 op << " {\n";
931 op << " res = func(res);\n";
932 op << " }\n";
937 op << " ${WHILE_LOOP}\n";
938 op << " {\n";
939 op << " func(res);\n";
940 op << " }\n";
964 op << " ${DO_WHILE_PRE} {} ${DO_WHILE_POST}\n";
969 op << " do { break; res = res.yzwx; } while (true);\n";
974 op << " do { res = res.yzwx; break; } while (true);\n";
979 op << " ${COUNTER_PRECISION} int i = 0;\n";
980 op << " do { res = res.yzwx; if (i == ${ONE}) break; i++; } while (true);\n";
984 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
990 op << " ${DO_WHILE_PRE} { res = res.yzwx; res = res.yzwx; } ${DO_WHILE_POST}\n";
996 op << " ${DO_WHILE_PRE} res = res.yzwx, res = res.yzwx; ${DO_WHILE_POST}\n";
1006 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
1010 op << " ${COUNTER_PRECISION} int i = 0;\n";
1011 op << " do { res = res.yzwx; } while (++i < (ub_true ? ${ITER_COUNT} : 0));\n";
1016 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; } ${DO_WHILE_POST}\n";
1020 op << " ${DO_WHILE_PRE} { res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
1025 op << " ${DO_WHILE_PRE} { continue; } ${DO_WHILE_POST}\n";
1030 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
1035 op << " ${DO_WHILE_PRE} { res = res.yzwx; if (i == ${ONE}) break; } ${DO_WHILE_POST}\n";
1040 op << " ${DO_WHILE_PRE} { res = res.yzwx; break; } ${DO_WHILE_POST}\n";
1044 op << " ${COUNTER_PRECISION} int i = 0;\n";
1045 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
1050 op << " ${COUNTER_PRECISION} int i = 0;\n";
1051 op << " do { res = res.yzwx; } while (i++ < ${ITER_COUNT});\n";
1057 op << " ${DO_WHILE_PRE} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; } ${DO_WHILE_POST}\n";
1061 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
1062 op << " do { res = res.yzwx; } while ((i.x += i.y) < i.z);\n";
1067 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
1073 op << " ${COUNTER_PRECISION} int i = 0;\n";
1074 op << " do { res = res.yzwx; } while (++i < ${TWO});\n";
1075 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
1080 op << " ${COUNTER_PRECISION} int i = 0;\n";
1081 op << " do\n";
1082 op << " {\n";
1083 op << " ${COUNTER_PRECISION} int j = 0;\n";
1084 op << " do\n";
1085 op << " res = res.yzwx;\n";
1086 op << " while (++j < ${ITER_COUNT});\n";
1087 op << " } while (++i < ${TWO});\n";
1092 op << " ${COUNTER_PRECISION} int i = 0;\n";
1093 op << " do\n";
1094 op << " {\n";
1095 op << " ${COUNTER_PRECISION} int j = 0;\n";
1096 op << " do\n";
1097 op << " res = res.yzwx;\n";
1098 op << " while (++j < ${TWO});\n";
1099 op << " do\n";
1100 op << " res = res.yzwx;\n";
1101 op << " while (++j < ${THREE});\n";
1102 op << " } while (++i < ${ITER_COUNT});\n";
1107 op << " ${DO_WHILE_PRE}\n";
1108 op << " {\n";
1109 op << " res = coords; // ignore outer loop effect \n";
1110 op << " ${COUNTER_PRECISION} int j = 0;\n";
1111 op << " do\n";
1112 op << " res = res.yzwx;\n";
1113 op << " while (++j < ${TWO});\n";
1114 op << " } ${DO_WHILE_POST}\n";
1119 op << " ${DO_WHILE_PRE}\n";
1120 op << " {\n";
1121 op << " res = coords.wxyz;\n";
1122 op << " ${COUNTER_PRECISION} int j = 0;\n";
1123 op << " while (j++ < ${TWO})\n";
1124 op << " res = res.yzwx;\n";
1125 op << " coords = res;\n";
1126 op << " } ${DO_WHILE_POST}\n";
1131 op << " ${DO_WHILE_PRE} if (i < 2) res = res.yzwx; ${DO_WHILE_POST}\n";
1136 op << " ${DO_WHILE_PRE}\n";
1137 op << " {\n";
1138 op << " res = func(res);\n";
1139 op << " } ${DO_WHILE_POST}\n";
1144 op << " ${DO_WHILE_PRE}\n";
1145 op << " {\n";
1146 op << " func(res);\n";
1147 op << " } ${DO_WHILE_POST}\n";