Lines Matching refs:op

248 	std::ostringstream& op = isVertexCase ? vtx : frag;
284 op << "uniform ${COUNTER_PRECISION} int " << getIntUniformName(numLoopIters) << ";\n";
289 op << "uniform ${COUNTER_PRECISION} float " << getFloatFractionUniformName(numLoopIters) << ";\n";
292 op << "uniform ${COUNTER_PRECISION} float uf_one;\n";
328 op << " ${PRECISION} vec4 res = coords;\n";
382 op << " for (" + loopCountDeclStr + "; " + loopCmpStr + "; " + incrementStr + ")\n";
383 op << " {\n";
384 op << loopBody;
385 op << " }\n";
389 op << "\t" << loopCountDeclStr + ";\n";
390 op << " while (" + loopCmpStr + ")\n";
391 op << " {\n";
392 op << loopBody;
393 op << "\t\t" + incrementStr + ";\n";
394 op << " }\n";
398 op << "\t" << loopCountDeclStr + ";\n";
399 op << " do\n";
400 op << " {\n";
401 op << loopBody;
402 op << "\t\t" + incrementStr + ";\n";
403 op << " } while (" + loopCmpStr + ");\n";
446 std::ostringstream& op = isVertexCase ? vtx : frag;
477 op << "uniform bool ub_true;\n";
479 op << "uniform ${COUNTER_PRECISION} int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;\n";
481 op << "uniform ${COUNTER_PRECISION} int ui_oneHundredOne;\n";
509 op << " ${PRECISION} vec4 res = coords;\n";
524 op << " ${FOR_LOOP} {}\n";
529 op << " for (;;) { break; res = res.yzwx; }\n";
534 op << " for (;;) { res = res.yzwx; break; }\n";
539 op << " ${COUNTER_PRECISION} int i = 0;\n";
540 op << " for (;;) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
544 op << " ${FOR_LOOP} res = res.yzwx;\n";
550 op << " ${FOR_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
556 op << " ${FOR_LOOP} res = res.yzwx, res = res.yzwx;\n";
562 op << " ${FOR_LOOP} res = res.yzwx;\n";
568 op << " ${FOR_LOOP} res = res.yzwx;\n";
572 op << " for (int i = 0; i < (ub_true ? ${ITER_COUNT} : 0); i++) res = res.yzwx;\n";
577 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
581 op << " ${FOR_LOOP} { res = res.yzwx; continue; }\n";
586 op << " ${FOR_LOOP} { continue; }\n";
591 op << " ${FOR_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; continue; }\n";
596 op << " ${FOR_LOOP} { if (i == ${TWO}) break; res = res.yzwx; }\n";
601 op << " ${FOR_LOOP} { res = res.yzwx; break; }\n";
605 op << " for (int i = 0; i < ${ITER_COUNT}; ++i) { res = res.yzwx; }\n";
609 op << " ${FOR_LOOP} { res = res.yzwx; }\n";
615 op << " ${FOR_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
619 op << " for (${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0); i.x < i.z; i.x += i.y) { res = res.yzwx; }\n";
624 op << " ${FOR_LOOP} res = res.yzwx;\n";
630 op << " ${COUNTER_PRECISION} int i;\n";
631 op << " for (i = 0; i < ${TWO}; i++) { res = res.yzwx; }\n";
632 op << " for (; i < ${ITER_COUNT}; i++) { res = res.yzwx; }\n";
637 op << " for (${COUNTER_PRECISION} int i = 0; i < ${TWO}; i++)\n";
638 op << " {\n";
639 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ITER_COUNT}; j++)\n";
640 op << " res = res.yzwx;\n";
641 op << " }\n";
646 op << " for (${COUNTER_PRECISION} int i = 0; i < ${ITER_COUNT}; i++)\n";
647 op << " {\n";
648 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
649 op << " res = res.yzwx;\n";
650 op << " for (${COUNTER_PRECISION} int j = 0; j < ${ONE}; j++)\n";
651 op << " res = res.yzwx;\n";
652 op << " }\n";
657 op << " ${FOR_LOOP}\n";
658 op << " {\n";
659 op << " res = coords; // ignore outer loop effect \n";
660 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
661 op << " res = res.yzwx;\n";
662 op << " }\n";
667 op << " ${FOR_LOOP}\n";
668 op << " {\n";
669 op << " res = coords.wxyz;\n";
670 op << " for (${COUNTER_PRECISION} int j = 0; j < ${TWO}; j++)\n";
671 op << " res = res.yzwx;\n";
672 op << " coords = res;\n";
673 op << " }\n";
695 op << " ${WHILE_LOOP} {}\n";
700 op << " while (true) { break; res = res.yzwx; }\n";
705 op << " while (true) { res = res.yzwx; break; }\n";
710 op << " ${COUNTER_PRECISION} int i = 0;\n";
711 op << " while (true) { res = res.yzwx; if (i == ${ONE}) break; i++; }\n";
715 op << " ${WHILE_LOOP} res = res.yzwx;\n";
721 op << " ${WHILE_LOOP} { res = res.yzwx; res = res.yzwx; }\n";
727 op << " ${WHILE_LOOP} res = res.yzwx, res = res.yzwx;\n";
733 op << " ${WHILE_LOOP} res = res.yzwx;\n";
739 op << " ${WHILE_LOOP} res = res.yzwx;\n";
743 op << " ${COUNTER_PRECISION} int i = 0;\n";
744 op << " while (i < (ub_true ? ${ITER_COUNT} : 0)) { res = res.yzwx; i++; }\n";
749 op << " ${WHILE_LOOP} { if (i == ${TWO}) continue; res = res.yzwx; }\n";
753 op << " ${WHILE_LOOP} { res = res.yzwx; continue; }\n";
758 op << " ${WHILE_LOOP} { continue; }\n";
763 op << " ${WHILE_LOOP} { if (i == ${ONE}) continue; res = res.yzwx; continue; }\n";
768 op << " ${WHILE_LOOP} { if (i == ${THREE}) break; res = res.yzwx; }\n";
773 op << " ${WHILE_LOOP} { res = res.yzwx; break; }\n";
778 op << " ${COUNTER_PRECISION} int i = 0;\n";
779 op << " while (++i < ${ITER_COUNT}) { res = res.yzwx; }\n";
783 op << " ${COUNTER_PRECISION} int i = 0;\n";
784 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n";
790 op << " ${WHILE_LOOP} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }\n";
794 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
795 op << " while (i.x < i.z) { res = res.yzwx; i.x += i.y; }\n";
800 op << " ${WHILE_LOOP} res = res.yzwx;\n";
806 op << " ${COUNTER_PRECISION} int i = 0;\n";
807 op << " while (i++ < ${TWO}) { res = res.yzwx; }\n";
808 op << " while (i++ < ${ITER_COUNT}) { res = res.yzwx; }\n"; // \note skips one iteration
813 op << " ${COUNTER_PRECISION} int i = 0;\n";
814 op << " while (i++ < ${TWO})\n";
815 op << " {\n";
816 op << " ${COUNTER_PRECISION} int j = 0;\n";
817 op << " while (j++ < ${ITER_COUNT})\n";
818 op << " res = res.yzwx;\n";
819 op << " }\n";
824 op << " ${COUNTER_PRECISION} int i = 0;\n";
825 op << " while (i++ < ${ITER_COUNT})\n";
826 op << " {\n";
827 op << " ${COUNTER_PRECISION} int j = 0;\n";
828 op << " while (j++ < ${ONE})\n";
829 op << " res = res.yzwx;\n";
830 op << " while (j++ < ${THREE})\n"; // \note skips one iteration
831 op << " res = res.yzwx;\n";
832 op << " }\n";
837 op << " ${WHILE_LOOP}\n";
838 op << " {\n";
839 op << " res = coords; // ignore outer loop effect \n";
840 op << " ${COUNTER_PRECISION} int j = 0;\n";
841 op << " while (j++ < ${TWO})\n";
842 op << " res = res.yzwx;\n";
843 op << " }\n";
848 op << " ${WHILE_LOOP}\n";
849 op << " {\n";
850 op << " res = coords.wxyz;\n";
851 op << " ${COUNTER_PRECISION} int j = 0;\n";
852 op << " while (j++ < ${TWO})\n";
853 op << " res = res.yzwx;\n";
854 op << " coords = res;\n";
855 op << " }\n";
879 op << " ${DO_WHILE_PRE} {} ${DO_WHILE_POST}\n";
884 op << " do { break; res = res.yzwx; } while (true);\n";
889 op << " do { res = res.yzwx; break; } while (true);\n";
894 op << " ${COUNTER_PRECISION} int i = 0;\n";
895 op << " do { res = res.yzwx; if (i == ${ONE}) break; i++; } while (true);\n";
899 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
905 op << " ${DO_WHILE_PRE} { res = res.yzwx; res = res.yzwx; } ${DO_WHILE_POST}\n";
911 op << " ${DO_WHILE_PRE} res = res.yzwx, res = res.yzwx; ${DO_WHILE_POST}\n";
921 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
925 op << " ${COUNTER_PRECISION} int i = 0;\n";
926 op << " do { res = res.yzwx; } while (++i < (ub_true ? ${ITER_COUNT} : 0));\n";
931 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; } ${DO_WHILE_POST}\n";
935 op << " ${DO_WHILE_PRE} { res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
940 op << " ${DO_WHILE_PRE} { continue; } ${DO_WHILE_POST}\n";
945 op << " ${DO_WHILE_PRE} { if (i == ${TWO}) continue; res = res.yzwx; continue; } ${DO_WHILE_POST}\n";
950 op << " ${DO_WHILE_PRE} { res = res.yzwx; if (i == ${ONE}) break; } ${DO_WHILE_POST}\n";
955 op << " ${DO_WHILE_PRE} { res = res.yzwx; break; } ${DO_WHILE_POST}\n";
959 op << " ${COUNTER_PRECISION} int i = 0;\n";
960 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
965 op << " ${COUNTER_PRECISION} int i = 0;\n";
966 op << " do { res = res.yzwx; } while (i++ < ${ITER_COUNT});\n";
972 op << " ${DO_WHILE_PRE} { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; } ${DO_WHILE_POST}\n";
976 op << " ${COUNTER_PRECISION} ivec4 i = ivec4(0, 1, ${ITER_COUNT}, 0);\n";
977 op << " do { res = res.yzwx; } while ((i.x += i.y) < i.z);\n";
982 op << " ${DO_WHILE_PRE} res = res.yzwx; ${DO_WHILE_POST}\n";
988 op << " ${COUNTER_PRECISION} int i = 0;\n";
989 op << " do { res = res.yzwx; } while (++i < ${TWO});\n";
990 op << " do { res = res.yzwx; } while (++i < ${ITER_COUNT});\n";
995 op << " ${COUNTER_PRECISION} int i = 0;\n";
996 op << " do\n";
997 op << " {\n";
998 op << " ${COUNTER_PRECISION} int j = 0;\n";
999 op << " do\n";
1000 op << " res = res.yzwx;\n";
1001 op << " while (++j < ${ITER_COUNT});\n";
1002 op << " } while (++i < ${TWO});\n";
1007 op << " ${COUNTER_PRECISION} int i = 0;\n";
1008 op << " do\n";
1009 op << " {\n";
1010 op << " ${COUNTER_PRECISION} int j = 0;\n";
1011 op << " do\n";
1012 op << " res = res.yzwx;\n";
1013 op << " while (++j < ${TWO});\n";
1014 op << " do\n";
1015 op << " res = res.yzwx;\n";
1016 op << " while (++j < ${THREE});\n";
1017 op << " } while (++i < ${ITER_COUNT});\n";
1022 op << " ${DO_WHILE_PRE}\n";
1023 op << " {\n";
1024 op << " res = coords; // ignore outer loop effect \n";
1025 op << " ${COUNTER_PRECISION} int j = 0;\n";
1026 op << " do\n";
1027 op << " res = res.yzwx;\n";
1028 op << " while (++j < ${TWO});\n";
1029 op << " } ${DO_WHILE_POST}\n";
1034 op << " ${DO_WHILE_PRE}\n";
1035 op << " {\n";
1036 op << " res = coords.wxyz;\n";
1037 op << " ${COUNTER_PRECISION} int j = 0;\n";
1038 op << " while (j++ < ${TWO})\n";
1039 op << " res = res.yzwx;\n";
1040 op << " coords = res;\n";
1041 op << " } ${DO_WHILE_POST}\n";