Lines Matching refs:op

280 	std::ostringstream& op = isVertexCase ? vtx : frag;
312 op << "uniform ${COUNTER_PRECISION} int " << getIntUniformName(numLoopIters) << ";\n";
317 op << "uniform ${COUNTER_PRECISION} float " << getFloatFractionUniformName(numLoopIters) << ";\n";
320 op << "uniform ${COUNTER_PRECISION} float uf_one;\n";
356 op << " ${PRECISION} vec4 res = coords;\n";
410 op << " for (" + loopCountDeclStr + "; " + loopCmpStr + "; " + incrementStr + ")\n";
411 op << " {\n";
412 op << loopBody;
413 op << " }\n";
417 op << "\t" << loopCountDeclStr + ";\n";
418 op << " while (" + loopCmpStr + ")\n";
419 op << " {\n";
420 op << loopBody;
421 op << "\t\t" + incrementStr + ";\n";
422 op << " }\n";
426 op << "\t" << loopCountDeclStr + ";\n";
427 op << " do\n";
428 op << " {\n";
429 op << loopBody;
430 op << "\t\t" + incrementStr + ";\n";
431 op << " } while (" + loopCmpStr + ");\n";
488 std::ostringstream& op = isVertexCase ? vtx : frag;
515 op << "uniform bool ub_true;\n";
517 op << "uniform ${COUNTER_PRECISION} int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;\n";
519 op << "uniform ${COUNTER_PRECISION} int ui_oneHundredOne;\n";
526 op << "\n${PRECISION} vec4 func (in ${PRECISION} vec4 coords) { return coords.yzwx; }\n";
528 op << "\nvoid func (inout ${PRECISION} vec4 coords) { coords = coords.yzwx; }\n";
553 op << " ${PRECISION} vec4 res = coords;\n";
568 op << " ${FOR_LOOP} {}\n";
573 op << " for (;;) { break; res = res.yzwx; }\n";
578 op << " for (;;) { res = res.yzwx; break; }\n";
583 op << " ${COUNTER_PRECISION} int i = 0;\n";
584 op << " for (;;) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
588 op << " ${FOR_LOOP} res = res.yzwx;\n";
594 op << " ${FOR_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
600 op << " ${FOR_LOOP} res = res.yzwx, res = res.yzwx;\n";
606 op << " ${FOR_LOOP} res = res.yzwx;\n";
612 op << " ${FOR_LOOP} res = res.yzwx;\n";
616 op << " for (int i = 0; i < (ub_true ? ${ITER_COUNT} : 0); i++) res = res.yzwx;\n";
621 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
625 op << " ${FOR_LOOP} { res = res.yzwx; continue; }\n";
630 op << " ${FOR_LOOP} { continue; }\n";
635 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; continue; }\n";
640 op << " ${FOR_LOOP} { if (i == ${TWO}) break; res = res.yzwx; }\n";
645 op << " ${FOR_LOOP} { res = res.yzwx; break; }\n";
649 op << " for (int i = 0; i < ${ITER_COUNT}; ++i) { res = res.yzwx; }\n";
653 op << " ${FOR_LOOP} { res = res.yzwx; }\n";
659 op << " ${FOR_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
663 op << " for (${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0); i.x < i.z; i.x += i.y) { res = res.yzwx; }\n";
668 op << " ${FOR_LOOP} res = res.yzwx;\n";
674 op << " ${COUNTER_PRECISION} int i;\n";
675 op << " for (i = 0; i < ${TWO}; i++) { res = res.yzwx; }\n";
676 op << " for (; i < ${ITER_COUNT}; i++) { res = res.yzwx; }\n";
681 op << " for (${COUNTER_PRECISION} int i = 0; i < ${TWO}; i++)\n";
682 op << " {\n";
683 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ITER_COUNT}; j++)\n";
684 op << " res = res.yzwx;\n";
685 op << " }\n";
690 op << " for (${COUNTER_PRECISION} int i = 0; i < ${ITER_COUNT}; i++)\n";
691 op << " {\n";
692 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
693 op << " res = res.yzwx;\n";
694 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ONE}; j++)\n";
695 op << " res = res.yzwx;\n";
696 op << " }\n";
701 op << " ${FOR_LOOP}\n";
702 op << " {\n";
703 op << " res = coords; // ignore outer loop effect \n";
704 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
705 op << " res = res.yzwx;\n";
706 op << " }\n";
711 op << " ${FOR_LOOP}\n";
712 op << " {\n";
713 op << " res = coords.wxyz;\n";
714 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
715 op << " res = res.yzwx;\n";
716 op << " coords = res;\n";
717 op << " }\n";
722 op << " ${FOR_LOOP} if (i < 2) res = res.yzwx;\n";
727 op << " ${FOR_LOOP}\n";
728 op << " {\n";
729 op << " res = func(res);\n";
730 op << " }\n";
735 op << " ${FOR_LOOP}\n";
736 op << " {\n";
737 op << " func(res);\n";
738 op << " }\n";
760 op << " ${WHILE_LOOP} {}\n";
765 op << " while (true) { break; res = res.yzwx; }\n";
770 op << " while (true) { res = res.yzwx; break; }\n";
775 op << " ${COUNTER_PRECISION} int i = 0;\n";
776 op << " while (true) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
780 op << " ${WHILE_LOOP} res = res.yzwx;\n";
786 op << " ${WHILE_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
792 op << " ${WHILE_LOOP} res = res.yzwx, res = res.yzwx;\n";
798 op << " ${WHILE_LOOP} res = res.yzwx;\n";
804 op << " ${WHILE_LOOP} res = res.yzwx;\n";
808 op << " ${COUNTER_PRECISION} int i = 0;\n";
809 op << " while (i < (ub_true ? ${ITER_COUNT} : 0)) { res = res.yzwx; i++; }\n";
814 op << " ${WHILE_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
818 op << " ${WHILE_LOOP} { res = res.yzwx; continue; }\n";
823 op << " ${WHILE_LOOP} { continue; }\n";
828 op << " ${WHILE_LOOP} { if (i == ${ONE}) continue; res = res.yzwx; continue; }\n";
833 op << " ${WHILE_LOOP} { if (i == ${THREE}) break; res = res.yzwx; }\n";
838 op << " ${WHILE_LOOP} { res = res.yzwx; break; }\n";
843 op << " ${COUNTER_PRECISION} int i = 0;\n";
844 op << " while (++i < ${ITER_COUNT}) { res = res.yzwx; }\n";
848 op << " ${COUNTER_PRECISION} int i = 0;\n";
849 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n";
855 op << " ${WHILE_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
859 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
860 op << " while (i.x < i.z) { res = res.yzwx; i.x += i.y; }\n";
865 op << " ${WHILE_LOOP} res = res.yzwx;\n";
871 op << " ${COUNTER_PRECISION} int i = 0;\n";
872 op << " while (i++ < ${TWO}) { res = res.yzwx; }\n";
873 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n"; // \note skips one iteration
878 op << " ${COUNTER_PRECISION} int i = 0;\n";
879 op << " while (i++ < ${TWO})\n";
880 op << " {\n";
881 op << " ${COUNTER_PRECISION} int j = 0;\n";
882 op << " while (j++ < ${ITER_COUNT})\n";
883 op << " res = res.yzwx;\n";
884 op << " }\n";
889 op << " ${COUNTER_PRECISION} int i = 0;\n";
890 op << " while (i++ < ${ITER_COUNT})\n";
891 op << " {\n";
892 op << " ${COUNTER_PRECISION} int j = 0;\n";
893 op << " while (j++ < ${ONE})\n";
894 op << " res = res.yzwx;\n";
895 op << " while (j++ < ${THREE})\n"; // \note skips one iteration
896 op << " res = res.yzwx;\n";
897 op << " }\n";
902 op << " ${WHILE_LOOP}\n";
903 op << " {\n";
904 op << " res = coords; // ignore outer loop effect \n";
905 op << " ${COUNTER_PRECISION} int j = 0;\n";
906 op << " while (j++ < ${TWO})\n";
907 op << " res = res.yzwx;\n";
908 op << " }\n";
913 op << " ${WHILE_LOOP}\n";
914 op << " {\n";
915 op << " res = coords.wxyz;\n";
916 op << " ${COUNTER_PRECISION} int j = 0;\n";
917 op << " while (j++ < ${TWO})\n";
918 op << " res = res.yzwx;\n";
919 op << " coords = res;\n";
920 op << " }\n";
925 op << " ${WHILE_LOOP} if (i < 2) res = res.yzwx;\n";
930 op << " ${WHILE_LOOP}\n";
931 op << " {\n";
932 op << " res = func(res);\n";
933 op << " }\n";
938 op << " ${WHILE_LOOP}\n";
939 op << " {\n";
940 op << " func(res);\n";
941 op << " }\n";
965 op << " ${DO_WHILE_PRE} {} ${DO_WHILE_POST}\n";
970 op << " do { break; res = res.yzwx; } while (true);\n";
975 op << " do { res = res.yzwx; break; } while (true);\n";
980 op << " ${COUNTER_PRECISION} int i = 0;\n";
981 op << " do { res = res.yzwx; if (i == ${ONE}) break; i++; } while (true);\n";
985 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
991 op << " ${DO_WHILE_PRE} { res = res.yzwx; res = res.yzwx; } ${DO_WHILE_POST}\n";
997 op << " ${DO_WHILE_PRE} res = res.yzwx, res = res.yzwx; ${DO_WHILE_POST}\n";
1007 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
1011 op << " ${COUNTER_PRECISION} int i = 0;\n";
1012 op << " do { res = res.yzwx; } while (++i < (ub_true ? ${ITER_COUNT} : 0));\n";
1017 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; } ${DO_WHILE_POST}\n";
1021 op << " ${DO_WHILE_PRE} { res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
1026 op << " ${DO_WHILE_PRE} { continue; } ${DO_WHILE_POST}\n";
1031 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
1036 op << " ${DO_WHILE_PRE} { res = res.yzwx; if (i == ${ONE}) break; } ${DO_WHILE_POST}\n";
1041 op << " ${DO_WHILE_PRE} { res = res.yzwx; break; } ${DO_WHILE_POST}\n";
1045 op << " ${COUNTER_PRECISION} int i = 0;\n";
1046 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
1051 op << " ${COUNTER_PRECISION} int i = 0;\n";
1052 op << " do { res = res.yzwx; } while (i++ < ${ITER_COUNT});\n";
1058 op << " ${DO_WHILE_PRE} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; } ${DO_WHILE_POST}\n";
1062 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
1063 op << " do { res = res.yzwx; } while ((i.x += i.y) < i.z);\n";
1068 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
1074 op << " ${COUNTER_PRECISION} int i = 0;\n";
1075 op << " do { res = res.yzwx; } while (++i < ${TWO});\n";
1076 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
1081 op << " ${COUNTER_PRECISION} int i = 0;\n";
1082 op << " do\n";
1083 op << " {\n";
1084 op << " ${COUNTER_PRECISION} int j = 0;\n";
1085 op << " do\n";
1086 op << " res = res.yzwx;\n";
1087 op << " while (++j < ${ITER_COUNT});\n";
1088 op << " } while (++i < ${TWO});\n";
1093 op << " ${COUNTER_PRECISION} int i = 0;\n";
1094 op << " do\n";
1095 op << " {\n";
1096 op << " ${COUNTER_PRECISION} int j = 0;\n";
1097 op << " do\n";
1098 op << " res = res.yzwx;\n";
1099 op << " while (++j < ${TWO});\n";
1100 op << " do\n";
1101 op << " res = res.yzwx;\n";
1102 op << " while (++j < ${THREE});\n";
1103 op << " } while (++i < ${ITER_COUNT});\n";
1108 op << " ${DO_WHILE_PRE}\n";
1109 op << " {\n";
1110 op << " res = coords; // ignore outer loop effect \n";
1111 op << " ${COUNTER_PRECISION} int j = 0;\n";
1112 op << " do\n";
1113 op << " res = res.yzwx;\n";
1114 op << " while (++j < ${TWO});\n";
1115 op << " } ${DO_WHILE_POST}\n";
1120 op << " ${DO_WHILE_PRE}\n";
1121 op << " {\n";
1122 op << " res = coords.wxyz;\n";
1123 op << " ${COUNTER_PRECISION} int j = 0;\n";
1124 op << " while (j++ < ${TWO})\n";
1125 op << " res = res.yzwx;\n";
1126 op << " coords = res;\n";
1127 op << " } ${DO_WHILE_POST}\n";
1132 op << " ${DO_WHILE_PRE} if (i < 2) res = res.yzwx; ${DO_WHILE_POST}\n";
1137 op << " ${DO_WHILE_PRE}\n";
1138 op << " {\n";
1139 op << " res = func(res);\n";
1140 op << " } ${DO_WHILE_POST}\n";
1145 op << " ${DO_WHILE_PRE}\n";
1146 op << " {\n";
1147 op << " func(res);\n";
1148 op << " } ${DO_WHILE_POST}\n";