summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-02-18 09:56:22 +0100
committerPéter Diviánszky <divipp@gmail.com>2016-02-18 09:56:35 +0100
commitc468af5fdba01215c117aa7637f10fe1acfcdb4d (patch)
treed06d982778c43fce60abb3113413c892aa7b721c /testdata
parent6fb07d45cba2fea6c984ad27e31f3ac598b0dbe6 (diff)
support local pattern matching functions and local recursive functions
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Graphics.out114
-rw-r--r--testdata/HyperbolicParaboloic.out10
-rw-r--r--testdata/Hyperboloid.lc4
-rw-r--r--testdata/Hyperboloid.out21
-rw-r--r--testdata/Spiral.out5
-rw-r--r--testdata/editor-examples/Heartbeat.out12
-rw-r--r--testdata/fetcharrays01.out8
-rw-r--r--testdata/gfx03.out19
-rw-r--r--testdata/gfx04.out3
-rw-r--r--testdata/gfx05.out19
-rw-r--r--testdata/heartbeat01.out12
-rw-r--r--testdata/language-features/recursion/simplerec02.lc (renamed from testdata/language-features/recursion/simplerec02.wip.lc)0
-rw-r--r--testdata/language-features/recursion/simplerec02.out9
-rw-r--r--testdata/language-features/recursion/simplerec03.lc (renamed from testdata/language-features/recursion/simplerec03.wip.lc)0
-rw-r--r--testdata/language-features/recursion/simplerec03.out9
-rw-r--r--testdata/line01.out8
-rw-r--r--testdata/simple02.out3
-rw-r--r--testdata/simple03.out6
18 files changed, 188 insertions, 74 deletions
diff --git a/testdata/Graphics.out b/testdata/Graphics.out
index fc891b27..cea97671 100644
--- a/testdata/Graphics.out
+++ b/testdata/Graphics.out
@@ -38,6 +38,8 @@ Pipeline
38 vec4 snoc(vec3 z0,float z1) { 38 vec4 snoc(vec3 z0,float z1) {
39 return vec4 ((z0).x,(z0).y,(z0).z,z1); 39 return vec4 ((z0).x,(z0).y,(z0).z,z1);
40 } 40 }
41 mat4 viewProj = viewProj;
42 mat4 worldMat = worldMat;
41 void main() { 43 void main() {
42 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 44 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
43 vo1 = vi2; 45 vo1 = vi2;
@@ -82,6 +84,8 @@ Pipeline
82 vec4 snoc(vec3 z0,float z1) { 84 vec4 snoc(vec3 z0,float z1) {
83 return vec4 ((z0).x,(z0).y,(z0).z,z1); 85 return vec4 ((z0).x,(z0).y,(z0).z,z1);
84 } 86 }
87 mat4 viewProj = viewProj;
88 mat4 worldMat = worldMat;
85 void main() { 89 void main() {
86 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 90 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
87 vo1 = vec4 ((vi2).x,(vi2).y,(vi2).z,0.5); 91 vo1 = vec4 ((vi2).x,(vi2).y,(vi2).z,0.5);
@@ -136,6 +140,8 @@ Pipeline
136 vec4 snoc(vec3 z0,float z1) { 140 vec4 snoc(vec3 z0,float z1) {
137 return vec4 ((z0).x,(z0).y,(z0).z,z1); 141 return vec4 ((z0).x,(z0).y,(z0).z,z1);
138 } 142 }
143 mat4 viewProj = viewProj;
144 mat4 worldMat = worldMat;
139 void main() { 145 void main() {
140 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 146 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
141 vo1 = vi4; 147 vo1 = vi4;
@@ -194,6 +200,8 @@ Pipeline
194 vec4 snoc(vec3 z0,float z1) { 200 vec4 snoc(vec3 z0,float z1) {
195 return vec4 ((z0).x,(z0).y,(z0).z,z1); 201 return vec4 ((z0).x,(z0).y,(z0).z,z1);
196 } 202 }
203 mat4 viewProj = viewProj;
204 mat4 worldMat = worldMat;
197 void main() { 205 void main() {
198 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 206 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
199 vo1 = vi3; 207 vo1 = vi3;
@@ -253,6 +261,9 @@ Pipeline
253 vec4 snoc(vec3 z0,float z1) { 261 vec4 snoc(vec3 z0,float z1) {
254 return vec4 ((z0).x,(z0).y,(z0).z,z1); 262 return vec4 ((z0).x,(z0).y,(z0).z,z1);
255 } 263 }
264 float time = time;
265 mat4 viewProj = viewProj;
266 mat4 worldMat = worldMat;
256 void main() { 267 void main() {
257 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 268 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
258 vo1 = (((vi3) + ((vec2 (0.0,1.0)) * (time))) + ((sin (vec2 269 vo1 = (((vi3) + ((vec2 (0.0,1.0)) * (time))) + ((sin (vec2
@@ -314,6 +325,8 @@ Pipeline
314 vec4 snoc(vec3 z0,float z1) { 325 vec4 snoc(vec3 z0,float z1) {
315 return vec4 ((z0).x,(z0).y,(z0).z,z1); 326 return vec4 ((z0).x,(z0).y,(z0).z,z1);
316 } 327 }
328 mat4 viewProj = viewProj;
329 mat4 worldMat = worldMat;
317 void main() { 330 void main() {
318 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 331 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
319 vo1 = vi3; 332 vo1 = vi3;
@@ -372,6 +385,8 @@ Pipeline
372 vec4 snoc(vec3 z0,float z1) { 385 vec4 snoc(vec3 z0,float z1) {
373 return vec4 ((z0).x,(z0).y,(z0).z,z1); 386 return vec4 ((z0).x,(z0).y,(z0).z,z1);
374 } 387 }
388 mat4 viewProj = viewProj;
389 mat4 worldMat = worldMat;
375 void main() { 390 void main() {
376 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 391 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
377 vo1 = vi3; 392 vo1 = vi3;
@@ -432,6 +447,9 @@ Pipeline
432 vec4 snoc(vec3 z0,float z1) { 447 vec4 snoc(vec3 z0,float z1) {
433 return vec4 ((z0).x,(z0).y,(z0).z,z1); 448 return vec4 ((z0).x,(z0).y,(z0).z,z1);
434 } 449 }
450 float time = time;
451 mat4 viewProj = viewProj;
452 mat4 worldMat = worldMat;
435 void main() { 453 void main() {
436 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 454 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
437 vo1 = (((vi3) + ((vec2 (0.0,1.0)) * (time))) + ((sin (vec2 455 vo1 = (((vi3) + ((vec2 (0.0,1.0)) * (time))) + ((sin (vec2
@@ -494,6 +512,8 @@ Pipeline
494 vec4 snoc(vec3 z0,float z1) { 512 vec4 snoc(vec3 z0,float z1) {
495 return vec4 ((z0).x,(z0).y,(z0).z,z1); 513 return vec4 ((z0).x,(z0).y,(z0).z,z1);
496 } 514 }
515 mat4 viewProj = viewProj;
516 mat4 worldMat = worldMat;
497 void main() { 517 void main() {
498 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 518 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
499 vo1 = vi4; 519 vo1 = vi4;
@@ -554,6 +574,8 @@ Pipeline
554 vec4 snoc(vec3 z0,float z1) { 574 vec4 snoc(vec3 z0,float z1) {
555 return vec4 ((z0).x,(z0).y,(z0).z,z1); 575 return vec4 ((z0).x,(z0).y,(z0).z,z1);
556 } 576 }
577 mat4 viewProj = viewProj;
578 mat4 worldMat = worldMat;
557 void main() { 579 void main() {
558 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 580 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
559 vo1 = vi3; 581 vo1 = vi3;
@@ -614,6 +636,8 @@ Pipeline
614 vec4 snoc(vec3 z0,float z1) { 636 vec4 snoc(vec3 z0,float z1) {
615 return vec4 ((z0).x,(z0).y,(z0).z,z1); 637 return vec4 ((z0).x,(z0).y,(z0).z,z1);
616 } 638 }
639 mat4 viewProj = viewProj;
640 mat4 worldMat = worldMat;
617 void main() { 641 void main() {
618 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 642 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
619 vo1 = vi3; 643 vo1 = vi3;
@@ -674,6 +698,8 @@ Pipeline
674 vec4 snoc(vec3 z0,float z1) { 698 vec4 snoc(vec3 z0,float z1) {
675 return vec4 ((z0).x,(z0).y,(z0).z,z1); 699 return vec4 ((z0).x,(z0).y,(z0).z,z1);
676 } 700 }
701 mat4 viewProj = viewProj;
702 mat4 worldMat = worldMat;
677 void main() { 703 void main() {
678 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 704 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
679 vo1 = vi3; 705 vo1 = vi3;
@@ -733,6 +759,8 @@ Pipeline
733 vec4 snoc(vec3 z0,float z1) { 759 vec4 snoc(vec3 z0,float z1) {
734 return vec4 ((z0).x,(z0).y,(z0).z,z1); 760 return vec4 ((z0).x,(z0).y,(z0).z,z1);
735 } 761 }
762 mat4 viewProj = viewProj;
763 mat4 worldMat = worldMat;
736 void main() { 764 void main() {
737 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 765 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
738 vo1 = vi3; 766 vo1 = vi3;
@@ -793,6 +821,8 @@ Pipeline
793 vec4 snoc(vec3 z0,float z1) { 821 vec4 snoc(vec3 z0,float z1) {
794 return vec4 ((z0).x,(z0).y,(z0).z,z1); 822 return vec4 ((z0).x,(z0).y,(z0).z,z1);
795 } 823 }
824 mat4 viewProj = viewProj;
825 mat4 worldMat = worldMat;
796 void main() { 826 void main() {
797 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 827 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
798 vo1 = vi3; 828 vo1 = vi3;
@@ -853,6 +883,8 @@ Pipeline
853 vec4 snoc(vec3 z0,float z1) { 883 vec4 snoc(vec3 z0,float z1) {
854 return vec4 ((z0).x,(z0).y,(z0).z,z1); 884 return vec4 ((z0).x,(z0).y,(z0).z,z1);
855 } 885 }
886 mat4 viewProj = viewProj;
887 mat4 worldMat = worldMat;
856 void main() { 888 void main() {
857 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 889 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
858 vo1 = vi3; 890 vo1 = vi3;
@@ -913,6 +945,8 @@ Pipeline
913 vec4 snoc(vec3 z0,float z1) { 945 vec4 snoc(vec3 z0,float z1) {
914 return vec4 ((z0).x,(z0).y,(z0).z,z1); 946 return vec4 ((z0).x,(z0).y,(z0).z,z1);
915 } 947 }
948 mat4 viewProj = viewProj;
949 mat4 worldMat = worldMat;
916 void main() { 950 void main() {
917 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 951 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
918 vo1 = vi3; 952 vo1 = vi3;
@@ -973,6 +1007,8 @@ Pipeline
973 vec4 snoc(vec3 z0,float z1) { 1007 vec4 snoc(vec3 z0,float z1) {
974 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1008 return vec4 ((z0).x,(z0).y,(z0).z,z1);
975 } 1009 }
1010 mat4 viewProj = viewProj;
1011 mat4 worldMat = worldMat;
976 void main() { 1012 void main() {
977 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1013 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
978 vo1 = vi3; 1014 vo1 = vi3;
@@ -1033,6 +1069,8 @@ Pipeline
1033 vec4 snoc(vec3 z0,float z1) { 1069 vec4 snoc(vec3 z0,float z1) {
1034 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1070 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1035 } 1071 }
1072 mat4 viewProj = viewProj;
1073 mat4 worldMat = worldMat;
1036 void main() { 1074 void main() {
1037 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1075 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1038 vo1 = vi3; 1076 vo1 = vi3;
@@ -1093,6 +1131,8 @@ Pipeline
1093 vec4 snoc(vec3 z0,float z1) { 1131 vec4 snoc(vec3 z0,float z1) {
1094 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1132 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1095 } 1133 }
1134 mat4 viewProj = viewProj;
1135 mat4 worldMat = worldMat;
1096 void main() { 1136 void main() {
1097 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1137 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1098 vo1 = vi3; 1138 vo1 = vi3;
@@ -1153,6 +1193,8 @@ Pipeline
1153 vec4 snoc(vec3 z0,float z1) { 1193 vec4 snoc(vec3 z0,float z1) {
1154 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1194 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1155 } 1195 }
1196 mat4 viewProj = viewProj;
1197 mat4 worldMat = worldMat;
1156 void main() { 1198 void main() {
1157 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1199 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1158 vo1 = vi3; 1200 vo1 = vi3;
@@ -1213,6 +1255,8 @@ Pipeline
1213 vec4 snoc(vec3 z0,float z1) { 1255 vec4 snoc(vec3 z0,float z1) {
1214 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1256 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1215 } 1257 }
1258 mat4 viewProj = viewProj;
1259 mat4 worldMat = worldMat;
1216 void main() { 1260 void main() {
1217 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1261 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1218 vo1 = vi3; 1262 vo1 = vi3;
@@ -1273,6 +1317,8 @@ Pipeline
1273 vec4 snoc(vec3 z0,float z1) { 1317 vec4 snoc(vec3 z0,float z1) {
1274 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1318 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1275 } 1319 }
1320 mat4 viewProj = viewProj;
1321 mat4 worldMat = worldMat;
1276 void main() { 1322 void main() {
1277 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1323 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1278 vo1 = vi3; 1324 vo1 = vi3;
@@ -1333,6 +1379,8 @@ Pipeline
1333 vec4 snoc(vec3 z0,float z1) { 1379 vec4 snoc(vec3 z0,float z1) {
1334 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1380 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1335 } 1381 }
1382 mat4 viewProj = viewProj;
1383 mat4 worldMat = worldMat;
1336 void main() { 1384 void main() {
1337 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1385 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1338 vo1 = vi3; 1386 vo1 = vi3;
@@ -1393,6 +1441,8 @@ Pipeline
1393 vec4 snoc(vec3 z0,float z1) { 1441 vec4 snoc(vec3 z0,float z1) {
1394 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1442 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1395 } 1443 }
1444 mat4 viewProj = viewProj;
1445 mat4 worldMat = worldMat;
1396 void main() { 1446 void main() {
1397 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1447 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1398 vo1 = vi3; 1448 vo1 = vi3;
@@ -1453,6 +1503,8 @@ Pipeline
1453 vec4 snoc(vec3 z0,float z1) { 1503 vec4 snoc(vec3 z0,float z1) {
1454 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1504 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1455 } 1505 }
1506 mat4 viewProj = viewProj;
1507 mat4 worldMat = worldMat;
1456 void main() { 1508 void main() {
1457 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1509 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1458 vo1 = vi3; 1510 vo1 = vi3;
@@ -1513,6 +1565,8 @@ Pipeline
1513 vec4 snoc(vec3 z0,float z1) { 1565 vec4 snoc(vec3 z0,float z1) {
1514 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1566 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1515 } 1567 }
1568 mat4 viewProj = viewProj;
1569 mat4 worldMat = worldMat;
1516 void main() { 1570 void main() {
1517 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1571 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1518 vo1 = vi3; 1572 vo1 = vi3;
@@ -1573,6 +1627,8 @@ Pipeline
1573 vec4 snoc(vec3 z0,float z1) { 1627 vec4 snoc(vec3 z0,float z1) {
1574 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1628 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1575 } 1629 }
1630 mat4 viewProj = viewProj;
1631 mat4 worldMat = worldMat;
1576 void main() { 1632 void main() {
1577 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1633 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1578 vo1 = vi3; 1634 vo1 = vi3;
@@ -1632,6 +1688,8 @@ Pipeline
1632 vec4 snoc(vec3 z0,float z1) { 1688 vec4 snoc(vec3 z0,float z1) {
1633 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1689 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1634 } 1690 }
1691 mat4 viewProj = viewProj;
1692 mat4 worldMat = worldMat;
1635 void main() { 1693 void main() {
1636 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1694 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1637 vo1 = vi3; 1695 vo1 = vi3;
@@ -1692,6 +1750,8 @@ Pipeline
1692 vec4 snoc(vec3 z0,float z1) { 1750 vec4 snoc(vec3 z0,float z1) {
1693 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1751 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1694 } 1752 }
1753 mat4 viewProj = viewProj;
1754 mat4 worldMat = worldMat;
1695 void main() { 1755 void main() {
1696 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1756 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1697 vo1 = vi3; 1757 vo1 = vi3;
@@ -1752,6 +1812,8 @@ Pipeline
1752 vec4 snoc(vec3 z0,float z1) { 1812 vec4 snoc(vec3 z0,float z1) {
1753 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1813 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1754 } 1814 }
1815 mat4 viewProj = viewProj;
1816 mat4 worldMat = worldMat;
1755 void main() { 1817 void main() {
1756 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1818 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1757 vo1 = vi3; 1819 vo1 = vi3;
@@ -1812,6 +1874,8 @@ Pipeline
1812 vec4 snoc(vec3 z0,float z1) { 1874 vec4 snoc(vec3 z0,float z1) {
1813 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1875 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1814 } 1876 }
1877 mat4 viewProj = viewProj;
1878 mat4 worldMat = worldMat;
1815 void main() { 1879 void main() {
1816 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1880 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1817 vo1 = vi3; 1881 vo1 = vi3;
@@ -1872,6 +1936,8 @@ Pipeline
1872 vec4 snoc(vec3 z0,float z1) { 1936 vec4 snoc(vec3 z0,float z1) {
1873 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1937 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1874 } 1938 }
1939 mat4 viewProj = viewProj;
1940 mat4 worldMat = worldMat;
1875 void main() { 1941 void main() {
1876 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 1942 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1877 vo1 = vi3; 1943 vo1 = vi3;
@@ -1932,6 +1998,8 @@ Pipeline
1932 vec4 snoc(vec3 z0,float z1) { 1998 vec4 snoc(vec3 z0,float z1) {
1933 return vec4 ((z0).x,(z0).y,(z0).z,z1); 1999 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1934 } 2000 }
2001 mat4 viewProj = viewProj;
2002 mat4 worldMat = worldMat;
1935 void main() { 2003 void main() {
1936 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2004 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1937 vo1 = vi3; 2005 vo1 = vi3;
@@ -1992,6 +2060,8 @@ Pipeline
1992 vec4 snoc(vec3 z0,float z1) { 2060 vec4 snoc(vec3 z0,float z1) {
1993 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2061 return vec4 ((z0).x,(z0).y,(z0).z,z1);
1994 } 2062 }
2063 mat4 viewProj = viewProj;
2064 mat4 worldMat = worldMat;
1995 void main() { 2065 void main() {
1996 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2066 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
1997 vo1 = vi3; 2067 vo1 = vi3;
@@ -2052,6 +2122,8 @@ Pipeline
2052 vec4 snoc(vec3 z0,float z1) { 2122 vec4 snoc(vec3 z0,float z1) {
2053 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2123 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2054 } 2124 }
2125 mat4 viewProj = viewProj;
2126 mat4 worldMat = worldMat;
2055 void main() { 2127 void main() {
2056 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2128 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2057 vo1 = vi3; 2129 vo1 = vi3;
@@ -2112,6 +2184,8 @@ Pipeline
2112 vec4 snoc(vec3 z0,float z1) { 2184 vec4 snoc(vec3 z0,float z1) {
2113 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2185 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2114 } 2186 }
2187 mat4 viewProj = viewProj;
2188 mat4 worldMat = worldMat;
2115 void main() { 2189 void main() {
2116 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2190 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2117 vo1 = vi3; 2191 vo1 = vi3;
@@ -2172,6 +2246,8 @@ Pipeline
2172 vec4 snoc(vec3 z0,float z1) { 2246 vec4 snoc(vec3 z0,float z1) {
2173 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2247 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2174 } 2248 }
2249 mat4 viewProj = viewProj;
2250 mat4 worldMat = worldMat;
2175 void main() { 2251 void main() {
2176 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2252 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2177 vo1 = vi3; 2253 vo1 = vi3;
@@ -2232,6 +2308,8 @@ Pipeline
2232 vec4 snoc(vec3 z0,float z1) { 2308 vec4 snoc(vec3 z0,float z1) {
2233 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2309 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2234 } 2310 }
2311 mat4 viewProj = viewProj;
2312 mat4 worldMat = worldMat;
2235 void main() { 2313 void main() {
2236 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2314 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2237 vo1 = vi3; 2315 vo1 = vi3;
@@ -2292,6 +2370,8 @@ Pipeline
2292 vec4 snoc(vec3 z0,float z1) { 2370 vec4 snoc(vec3 z0,float z1) {
2293 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2371 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2294 } 2372 }
2373 mat4 viewProj = viewProj;
2374 mat4 worldMat = worldMat;
2295 void main() { 2375 void main() {
2296 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2376 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2297 vo1 = vi3; 2377 vo1 = vi3;
@@ -2352,6 +2432,8 @@ Pipeline
2352 vec4 snoc(vec3 z0,float z1) { 2432 vec4 snoc(vec3 z0,float z1) {
2353 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2433 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2354 } 2434 }
2435 mat4 viewProj = viewProj;
2436 mat4 worldMat = worldMat;
2355 void main() { 2437 void main() {
2356 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2438 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2357 vo1 = vi3; 2439 vo1 = vi3;
@@ -2412,6 +2494,8 @@ Pipeline
2412 vec4 snoc(vec3 z0,float z1) { 2494 vec4 snoc(vec3 z0,float z1) {
2413 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2495 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2414 } 2496 }
2497 mat4 viewProj = viewProj;
2498 mat4 worldMat = worldMat;
2415 void main() { 2499 void main() {
2416 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2500 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2417 vo1 = vi3; 2501 vo1 = vi3;
@@ -2472,6 +2556,8 @@ Pipeline
2472 vec4 snoc(vec3 z0,float z1) { 2556 vec4 snoc(vec3 z0,float z1) {
2473 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2557 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2474 } 2558 }
2559 mat4 viewProj = viewProj;
2560 mat4 worldMat = worldMat;
2475 void main() { 2561 void main() {
2476 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2562 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2477 vo1 = vi3; 2563 vo1 = vi3;
@@ -2532,6 +2618,8 @@ Pipeline
2532 vec4 snoc(vec3 z0,float z1) { 2618 vec4 snoc(vec3 z0,float z1) {
2533 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2619 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2534 } 2620 }
2621 mat4 viewProj = viewProj;
2622 mat4 worldMat = worldMat;
2535 void main() { 2623 void main() {
2536 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2624 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2537 vo1 = vi3; 2625 vo1 = vi3;
@@ -2591,6 +2679,8 @@ Pipeline
2591 vec4 snoc(vec3 z0,float z1) { 2679 vec4 snoc(vec3 z0,float z1) {
2592 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2680 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2593 } 2681 }
2682 mat4 viewProj = viewProj;
2683 mat4 worldMat = worldMat;
2594 void main() { 2684 void main() {
2595 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2685 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2596 vo1 = vi3; 2686 vo1 = vi3;
@@ -2651,6 +2741,8 @@ Pipeline
2651 vec4 snoc(vec3 z0,float z1) { 2741 vec4 snoc(vec3 z0,float z1) {
2652 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2742 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2653 } 2743 }
2744 mat4 viewProj = viewProj;
2745 mat4 worldMat = worldMat;
2654 void main() { 2746 void main() {
2655 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2747 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2656 vo1 = vi3; 2748 vo1 = vi3;
@@ -2711,6 +2803,8 @@ Pipeline
2711 vec4 snoc(vec3 z0,float z1) { 2803 vec4 snoc(vec3 z0,float z1) {
2712 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2804 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2713 } 2805 }
2806 mat4 viewProj = viewProj;
2807 mat4 worldMat = worldMat;
2714 void main() { 2808 void main() {
2715 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2809 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2716 vo1 = vi3; 2810 vo1 = vi3;
@@ -2771,6 +2865,8 @@ Pipeline
2771 vec4 snoc(vec3 z0,float z1) { 2865 vec4 snoc(vec3 z0,float z1) {
2772 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2866 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2773 } 2867 }
2868 mat4 viewProj = viewProj;
2869 mat4 worldMat = worldMat;
2774 void main() { 2870 void main() {
2775 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2871 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2776 vo1 = vi3; 2872 vo1 = vi3;
@@ -2831,6 +2927,8 @@ Pipeline
2831 vec4 snoc(vec3 z0,float z1) { 2927 vec4 snoc(vec3 z0,float z1) {
2832 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2928 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2833 } 2929 }
2930 mat4 viewProj = viewProj;
2931 mat4 worldMat = worldMat;
2834 void main() { 2932 void main() {
2835 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2933 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2836 vo1 = vi3; 2934 vo1 = vi3;
@@ -2891,6 +2989,8 @@ Pipeline
2891 vec4 snoc(vec3 z0,float z1) { 2989 vec4 snoc(vec3 z0,float z1) {
2892 return vec4 ((z0).x,(z0).y,(z0).z,z1); 2990 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2893 } 2991 }
2992 mat4 viewProj = viewProj;
2993 mat4 worldMat = worldMat;
2894 void main() { 2994 void main() {
2895 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 2995 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2896 vo1 = vi3; 2996 vo1 = vi3;
@@ -2951,6 +3051,8 @@ Pipeline
2951 vec4 snoc(vec3 z0,float z1) { 3051 vec4 snoc(vec3 z0,float z1) {
2952 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3052 return vec4 ((z0).x,(z0).y,(z0).z,z1);
2953 } 3053 }
3054 mat4 viewProj = viewProj;
3055 mat4 worldMat = worldMat;
2954 void main() { 3056 void main() {
2955 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3057 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
2956 vo1 = vi3; 3058 vo1 = vi3;
@@ -3011,6 +3113,8 @@ Pipeline
3011 vec4 snoc(vec3 z0,float z1) { 3113 vec4 snoc(vec3 z0,float z1) {
3012 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3114 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3013 } 3115 }
3116 mat4 viewProj = viewProj;
3117 mat4 worldMat = worldMat;
3014 void main() { 3118 void main() {
3015 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3119 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3016 vo1 = vi3; 3120 vo1 = vi3;
@@ -3071,6 +3175,8 @@ Pipeline
3071 vec4 snoc(vec3 z0,float z1) { 3175 vec4 snoc(vec3 z0,float z1) {
3072 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3176 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3073 } 3177 }
3178 mat4 viewProj = viewProj;
3179 mat4 worldMat = worldMat;
3074 void main() { 3180 void main() {
3075 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3181 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3076 vo1 = vi3; 3182 vo1 = vi3;
@@ -3131,6 +3237,8 @@ Pipeline
3131 vec4 snoc(vec3 z0,float z1) { 3237 vec4 snoc(vec3 z0,float z1) {
3132 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3238 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3133 } 3239 }
3240 mat4 viewProj = viewProj;
3241 mat4 worldMat = worldMat;
3134 void main() { 3242 void main() {
3135 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3243 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3136 vo1 = vi3; 3244 vo1 = vi3;
@@ -3191,6 +3299,8 @@ Pipeline
3191 vec4 snoc(vec3 z0,float z1) { 3299 vec4 snoc(vec3 z0,float z1) {
3192 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3300 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3193 } 3301 }
3302 mat4 viewProj = viewProj;
3303 mat4 worldMat = worldMat;
3194 void main() { 3304 void main() {
3195 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3305 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3196 vo1 = vi3; 3306 vo1 = vi3;
@@ -3251,6 +3361,8 @@ Pipeline
3251 vec4 snoc(vec3 z0,float z1) { 3361 vec4 snoc(vec3 z0,float z1) {
3252 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3362 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3253 } 3363 }
3364 mat4 viewProj = viewProj;
3365 mat4 worldMat = worldMat;
3254 void main() { 3366 void main() {
3255 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3367 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3256 vo1 = vi3; 3368 vo1 = vi3;
@@ -3311,6 +3423,8 @@ Pipeline
3311 vec4 snoc(vec3 z0,float z1) { 3423 vec4 snoc(vec3 z0,float z1) {
3312 return vec4 ((z0).x,(z0).y,(z0).z,z1); 3424 return vec4 ((z0).x,(z0).y,(z0).z,z1);
3313 } 3425 }
3426 mat4 viewProj = viewProj;
3427 mat4 worldMat = worldMat;
3314 void main() { 3428 void main() {
3315 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0))); 3429 gl_Position = (viewProj) * ((worldMat) * (snoc (vi1,1.0)));
3316 vo1 = vi3; 3430 vo1 = vi3;
diff --git a/testdata/HyperbolicParaboloic.out b/testdata/HyperbolicParaboloic.out
index 28548feb..7b9b420d 100644
--- a/testdata/HyperbolicParaboloic.out
+++ b/testdata/HyperbolicParaboloic.out
@@ -36,17 +36,15 @@ Pipeline
36 vec4 scale(float z0,vec4 z1) { 36 vec4 scale(float z0,vec4 z1) {
37 return (z1) * (vec4 (z0,z0,z0,1.0)); 37 return (z1) * (vec4 (z0,z0,z0,1.0));
38 } 38 }
39 vec4 v3FToV4F(vec3 z0) { 39 float t = (m).y;
40 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
41 }
42 void main() { 40 void main() {
43 gl_Position = scale 41 gl_Position = scale
44 (0.1 42 (0.1
45 ,(MVP) * (vec4 (((m).y) * ((vi1).x) 43 ,(MVP) * (vec4 ((t) * ((vi1).x)
46 ,(((0.5) * ((m).x)) * ((vi1).x)) * ((vi1).y) 44 ,(((0.5) * ((m).x)) * ((vi1).x)) * ((vi1).y)
47 ,((m).y) * ((vi1).y) 45 ,(t) * ((vi1).y)
48 ,1.0))); 46 ,1.0)));
49 vo1 = v3FToV4F (vi1); 47 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
50 } 48 }
51 """ 49 """
52 , geometryShader = Nothing 50 , geometryShader = Nothing
diff --git a/testdata/Hyperboloid.lc b/testdata/Hyperboloid.lc
index d3f8dc7e..e6ae104a 100644
--- a/testdata/Hyperboloid.lc
+++ b/testdata/Hyperboloid.lc
@@ -14,9 +14,9 @@ mapFragments22 s fs = accumulate colorFragmentCtx (\a -> fs a) s clear
14transform s f = mapPrimitives (\(p) -> let v = v3FToV4F p in (f v, v)) s 14transform s f = mapPrimitives (\(p) -> let v = v3FToV4F p in (f v, v)) s
15 15
16trans :: Vec 4 Float -> Vec 4 Float 16trans :: Vec 4 Float -> Vec 4 Float
17trans (V4 x y _ _) = V4 (k *! sin (s *! x +! r *! y)) y (k *! cos (s *! x +! r *! y)) 1.0 17trans (V4 x y _ _) = V4 (k * sin (s * x + r * y)) y (k * cos (s * x + r * y)) 1.0
18 where 18 where
19 k = 2 *! m%y 19 k = 2 * m%y
20 s = 0.7 20 s = 0.7
21 r = m%x 21 r = m%x
22 22
diff --git a/testdata/Hyperboloid.out b/testdata/Hyperboloid.out
index 3eea868f..bf3367bb 100644
--- a/testdata/Hyperboloid.out
+++ b/testdata/Hyperboloid.out
@@ -33,22 +33,19 @@ Pipeline
33 in vec3 vi1; 33 in vec3 vi1;
34 smooth out vec4 vo1; 34 smooth out vec4 vo1;
35 vec2 m = Mouse; 35 vec2 m = Mouse;
36 float k = (2.0) * ((m).y);
37 float r = (m).x;
36 vec4 scale(float z0,vec4 z1) { 38 vec4 scale(float z0,vec4 z1) {
37 return (z1) * (vec4 (z0,z0,z0,1.0)); 39 return (z1) * (vec4 (z0,z0,z0,1.0));
38 } 40 }
39 vec4 v3FToV4F(vec3 z0) {
40 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
41 }
42 void main() { 41 void main() {
43 gl_Position = scale 42 gl_Position = scale (0.1
44 (0.1 43 ,(MVP) * (vec4
45 ,(MVP) * (vec4 (((2.0) * ((m).y)) * (sin 44 ((k) * (sin (((0.7) * ((vi1).x)) + ((r) * ((vi1).y))))
46 (((0.7) * ((vi1).x)) + (((m).x) * ((vi1).y)))) 45 ,(vi1).y
47 ,(vi1).y 46 ,(k) * (cos (((0.7) * ((vi1).x)) + ((r) * ((vi1).y))))
48 ,((2.0) * ((m).y)) * (cos 47 ,1.0)));
49 (((0.7) * ((vi1).x)) + (((m).x) * ((vi1).y)))) 48 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
50 ,1.0)));
51 vo1 = v3FToV4F (vi1);
52 } 49 }
53 """ 50 """
54 , geometryShader = Nothing 51 , geometryShader = Nothing
diff --git a/testdata/Spiral.out b/testdata/Spiral.out
index 0364685f..d4922494 100644
--- a/testdata/Spiral.out
+++ b/testdata/Spiral.out
@@ -36,9 +36,6 @@ Pipeline
36 vec4 scale(float z0,vec4 z1) { 36 vec4 scale(float z0,vec4 z1) {
37 return (z1) * (vec4 (z0,z0,z0,1.0)); 37 return (z1) * (vec4 (z0,z0,z0,1.0));
38 } 38 }
39 vec4 v3FToV4F(vec3 z0) {
40 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
41 }
42 void main() { 39 void main() {
43 gl_Position = scale 40 gl_Position = scale
44 (0.5 41 (0.5
@@ -48,7 +45,7 @@ Pipeline
48 ((0.9) * ((vi1).x))) 45 ((0.9) * ((vi1).x)))
49 ,((m).y) * ((0.9) * ((vi1).x)) 46 ,((m).y) * ((0.9) * ((vi1).x))
50 ,1.0))); 47 ,1.0)));
51 vo1 = v3FToV4F (vi1); 48 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
52 } 49 }
53 """ 50 """
54 , geometryShader = Nothing 51 , geometryShader = Nothing
diff --git a/testdata/editor-examples/Heartbeat.out b/testdata/editor-examples/Heartbeat.out
index 81eec655..435db6b7 100644
--- a/testdata/editor-examples/Heartbeat.out
+++ b/testdata/editor-examples/Heartbeat.out
@@ -108,6 +108,7 @@ Pipeline
108 } 108 }
109 vec4 blue = rgb (0.0,0.0,1.0); 109 vec4 blue = rgb (0.0,0.0,1.0);
110 vec4 navy = rgb (0.0,0.0,0.5); 110 vec4 navy = rgb (0.0,0.0,0.5);
111 float ti = abs ((sin ((time) * (4.0))) - (0.37));
111 float time = Time; 112 float time = Time;
112 vec4 white = rgb (1.0,1.0,1.0); 113 vec4 white = rgb (1.0,1.0,1.0);
113 vec4 yellow = rgb (1.0,1.0,0.0); 114 vec4 yellow = rgb (1.0,1.0,0.0);
@@ -116,18 +117,13 @@ Pipeline
116 ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((5.0e-4) * (sin 117 ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((5.0e-4) * (sin
117 (((3.0) * (atan 118 (((3.0) * (atan
118 (((vo1).x) - (0.85) 119 (((vo1).x) - (0.85)
119 ,((vo1).y) - (0.85)))) + ((15.0) * (time)))))) < ((5.0e-3) * (abs 120 ,((vo1).y) - (0.85)))) + ((15.0) * (time)))))) < ((5.0e-3) * (ti)) ? navy : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
120 ((sin
121 ((time) * (4.0))) - (0.37)))) ? navy : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
122 (((5.0) * (atan 121 (((5.0) * (atan
123 (((vo1).x) - (0.85) 122 (((vo1).x) - (0.85)
124 ,((vo1).y) - (0.85)))) - ((5.0) * (time)))))) < ((2.0e-2) * (abs 123 ,((vo1).y) - (0.85)))) - ((5.0) * (time)))))) < ((2.0e-2) * (ti)) ? blue : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
125 ((sin
126 ((time) * (4.0))) - (0.37)))) ? blue : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
127 (((7.0) * (atan 124 (((7.0) * (atan
128 (((vo1).x) - (0.85) 125 (((vo1).x) - (0.85)
129 ,((vo1).y) - (0.85)))) + ((3.0) * (time)))))) < ((5.0e-2) * (abs 126 ,((vo1).y) - (0.85)))) + ((3.0) * (time)))))) < ((5.0e-2) * (ti)) ? white : yellow;
130 ((sin ((time) * (4.0))) - (0.37)))) ? white : yellow;
131 } 127 }
132 """ 128 """
133 } 129 }
diff --git a/testdata/fetcharrays01.out b/testdata/fetcharrays01.out
index aa49e5fd..06db8806 100644
--- a/testdata/fetcharrays01.out
+++ b/testdata/fetcharrays01.out
@@ -36,12 +36,10 @@ Pipeline
36 vec4 scale(float z0,vec4 z1) { 36 vec4 scale(float z0,vec4 z1) {
37 return (z1) * (vec4 (z0,z0,z0,1.0)); 37 return (z1) * (vec4 (z0,z0,z0,1.0));
38 } 38 }
39 vec4 v3FToV4F(vec3 z0) {
40 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
41 }
42 void main() { 39 void main() {
43 gl_Position = scale (0.5,(MVP) * (v3FToV4F (vi1))); 40 gl_Position = scale
44 vo1 = v3FToV4F (vi1); 41 (0.5,(MVP) * (vec4 ((vi1).x,(vi1).y,(vi1).z,1.0)));
42 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
45 } 43 }
46 """ 44 """
47 , geometryShader = Nothing 45 , geometryShader = Nothing
diff --git a/testdata/gfx03.out b/testdata/gfx03.out
index b3c238b4..1462c801 100644
--- a/testdata/gfx03.out
+++ b/testdata/gfx03.out
@@ -28,11 +28,10 @@ Pipeline
28 } 28 }
29 uniform mat4 MVP2; 29 uniform mat4 MVP2;
30 in vec3 vi1; 30 in vec3 vi1;
31 vec4 v3FToV4F(vec3 z0) { 31 mat4 modelViewProj = MVP2;
32 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
33 }
34 void main() { 32 void main() {
35 gl_Position = (MVP2) * (v3FToV4F (vi1)); 33 gl_Position = (modelViewProj) * (vec4
34 ((vi1).x,(vi1).y,(vi1).z,1.0));
36 } 35 }
37 """ 36 """
38 , geometryShader = Nothing 37 , geometryShader = Nothing
@@ -63,12 +62,11 @@ Pipeline
63 uniform mat4 MVP2; 62 uniform mat4 MVP2;
64 in vec3 vi1; 63 in vec3 vi1;
65 smooth out vec4 vo1; 64 smooth out vec4 vo1;
66 vec4 v3FToV4F(vec3 z0) { 65 mat4 modelViewProj = MVP2;
67 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
68 }
69 void main() { 66 void main() {
70 gl_Position = (MVP2) * (v3FToV4F (vi1)); 67 gl_Position = (modelViewProj) * (vec4
71 vo1 = v3FToV4F (vi1); 68 ((vi1).x,(vi1).y,(vi1).z,1.0));
69 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
72 } 70 }
73 """ 71 """
74 , geometryShader = Nothing 72 , geometryShader = Nothing
@@ -101,8 +99,9 @@ Pipeline
101 uniform mat4 MVP; 99 uniform mat4 MVP;
102 in vec4 vi1; 100 in vec4 vi1;
103 flat out vec4 vo1; 101 flat out vec4 vo1;
102 mat4 modelViewProj = MVP;
104 void main() { 103 void main() {
105 gl_Position = (MVP) * (vi1); 104 gl_Position = (modelViewProj) * (vi1);
106 vo1 = vi1; 105 vo1 = vi1;
107 } 106 }
108 """ 107 """
diff --git a/testdata/gfx04.out b/testdata/gfx04.out
index b39f1a1c..e17394f1 100644
--- a/testdata/gfx04.out
+++ b/testdata/gfx04.out
@@ -33,11 +33,12 @@ Pipeline
33 in vec3 vi1; 33 in vec3 vi1;
34 in vec3 vi2; 34 in vec3 vi2;
35 smooth out vec4 vo1; 35 smooth out vec4 vo1;
36 mat4 modelViewProj = MVP;
36 vec4 v3FToV4F(vec3 z0) { 37 vec4 v3FToV4F(vec3 z0) {
37 return vec4 ((z0).x,(z0).y,(z0).z,1.0); 38 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
38 } 39 }
39 void main() { 40 void main() {
40 gl_Position = (MVP) * (v3FToV4F (vi1)); 41 gl_Position = (modelViewProj) * (v3FToV4F (vi1));
41 vo1 = v3FToV4F (vi2); 42 vo1 = v3FToV4F (vi2);
42 } 43 }
43 """ 44 """
diff --git a/testdata/gfx05.out b/testdata/gfx05.out
index aaa1ce3d..a06d0612 100644
--- a/testdata/gfx05.out
+++ b/testdata/gfx05.out
@@ -81,11 +81,10 @@ Pipeline
81 } 81 }
82 uniform mat4 MVP2; 82 uniform mat4 MVP2;
83 in vec3 vi1; 83 in vec3 vi1;
84 vec4 v3FToV4F(vec3 z0) { 84 mat4 modelViewProj = MVP2;
85 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
86 }
87 void main() { 85 void main() {
88 gl_Position = (MVP2) * (v3FToV4F (vi1)); 86 gl_Position = (modelViewProj) * (vec4
87 ((vi1).x,(vi1).y,(vi1).z,1.0));
89 } 88 }
90 """ 89 """
91 , geometryShader = Nothing 90 , geometryShader = Nothing
@@ -116,12 +115,11 @@ Pipeline
116 uniform mat4 MVP2; 115 uniform mat4 MVP2;
117 in vec3 vi1; 116 in vec3 vi1;
118 smooth out vec4 vo1; 117 smooth out vec4 vo1;
119 vec4 v3FToV4F(vec3 z0) { 118 mat4 modelViewProj = MVP2;
120 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
121 }
122 void main() { 119 void main() {
123 gl_Position = (MVP2) * (v3FToV4F (vi1)); 120 gl_Position = (modelViewProj) * (vec4
124 vo1 = v3FToV4F (vi1); 121 ((vi1).x,(vi1).y,(vi1).z,1.0));
122 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
125 } 123 }
126 """ 124 """
127 , geometryShader = Nothing 125 , geometryShader = Nothing
@@ -157,8 +155,9 @@ Pipeline
157 in vec4 vi1; 155 in vec4 vi1;
158 in vec2 vi2; 156 in vec2 vi2;
159 smooth out vec2 vo1; 157 smooth out vec2 vo1;
158 mat4 modelViewProj = MVP;
160 void main() { 159 void main() {
161 gl_Position = (MVP) * (vi1); 160 gl_Position = (modelViewProj) * (vi1);
162 vo1 = vi2; 161 vo1 = vi2;
163 } 162 }
164 """ 163 """
diff --git a/testdata/heartbeat01.out b/testdata/heartbeat01.out
index 70857c9b..35528cae 100644
--- a/testdata/heartbeat01.out
+++ b/testdata/heartbeat01.out
@@ -108,6 +108,7 @@ Pipeline
108 } 108 }
109 vec4 blue = rgb (0.0,0.0,1.0); 109 vec4 blue = rgb (0.0,0.0,1.0);
110 vec4 navy = rgb (0.0,0.0,0.5); 110 vec4 navy = rgb (0.0,0.0,0.5);
111 float ti = abs ((sin ((time) * (4.0))) - (0.37));
111 float time = Time; 112 float time = Time;
112 vec4 white = rgb (1.0,1.0,1.0); 113 vec4 white = rgb (1.0,1.0,1.0);
113 vec4 yellow = rgb (1.0,1.0,0.0); 114 vec4 yellow = rgb (1.0,1.0,0.0);
@@ -116,18 +117,13 @@ Pipeline
116 ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((5.0e-4) * (sin 117 ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((5.0e-4) * (sin
117 (((3.0) * (atan 118 (((3.0) * (atan
118 (((vo1).x) - (0.85) 119 (((vo1).x) - (0.85)
119 ,((vo1).y) - (0.85)))) + ((15.0) * (time)))))) < ((5.0e-3) * (abs 120 ,((vo1).y) - (0.85)))) + ((15.0) * (time)))))) < ((5.0e-3) * (ti)) ? navy : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
120 ((sin
121 ((time) * (4.0))) - (0.37)))) ? navy : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
122 (((5.0) * (atan 121 (((5.0) * (atan
123 (((vo1).x) - (0.85) 122 (((vo1).x) - (0.85)
124 ,((vo1).y) - (0.85)))) - ((5.0) * (time)))))) < ((2.0e-2) * (abs 123 ,((vo1).y) - (0.85)))) - ((5.0) * (time)))))) < ((2.0e-2) * (ti)) ? blue : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
125 ((sin
126 ((time) * (4.0))) - (0.37)))) ? blue : ((((((vo1).x) - (0.85)) * (((vo1).x) - (0.85))) + ((((vo1).y) - (0.85)) * (((vo1).y) - (0.85)))) + ((2.0e-3) * (sin
127 (((7.0) * (atan 124 (((7.0) * (atan
128 (((vo1).x) - (0.85) 125 (((vo1).x) - (0.85)
129 ,((vo1).y) - (0.85)))) + ((3.0) * (time)))))) < ((5.0e-2) * (abs 126 ,((vo1).y) - (0.85)))) + ((3.0) * (time)))))) < ((5.0e-2) * (ti)) ? white : yellow;
130 ((sin ((time) * (4.0))) - (0.37)))) ? white : yellow;
131 } 127 }
132 """ 128 """
133 } 129 }
diff --git a/testdata/language-features/recursion/simplerec02.wip.lc b/testdata/language-features/recursion/simplerec02.lc
index 71f046fd..71f046fd 100644
--- a/testdata/language-features/recursion/simplerec02.wip.lc
+++ b/testdata/language-features/recursion/simplerec02.lc
diff --git a/testdata/language-features/recursion/simplerec02.out b/testdata/language-features/recursion/simplerec02.out
new file mode 100644
index 00000000..5f8d48b2
--- /dev/null
+++ b/testdata/language-features/recursion/simplerec02.out
@@ -0,0 +1,9 @@
1main is not found
2------------ trace
3value :: 'Tuple0
4------------ tooltips
5testdata/language-features/recursion/simplerec02.lc 1:1-1:6 Tuple0
6testdata/language-features/recursion/simplerec02.lc 1:21-1:24 Char
7testdata/language-features/recursion/simplerec02.lc 1:21-2:26 Bool->Char | V0->V1
8testdata/language-features/recursion/simplerec02.lc 2:21-2:24 V4
9testdata/language-features/recursion/simplerec02.lc 3:12-3:14 Tuple0
diff --git a/testdata/language-features/recursion/simplerec03.wip.lc b/testdata/language-features/recursion/simplerec03.lc
index 5f602a04..5f602a04 100644
--- a/testdata/language-features/recursion/simplerec03.wip.lc
+++ b/testdata/language-features/recursion/simplerec03.lc
diff --git a/testdata/language-features/recursion/simplerec03.out b/testdata/language-features/recursion/simplerec03.out
new file mode 100644
index 00000000..16802cb7
--- /dev/null
+++ b/testdata/language-features/recursion/simplerec03.out
@@ -0,0 +1,9 @@
1main is not found
2------------ trace
3value :: 'Tuple0
4------------ tooltips
5testdata/language-features/recursion/simplerec03.lc 1:1-1:6 Tuple0
6testdata/language-features/recursion/simplerec03.lc 1:9-1:11 Tuple0
7testdata/language-features/recursion/simplerec03.lc 3:13-3:16 Char
8testdata/language-features/recursion/simplerec03.lc 3:13-4:18 Bool->Char | V0->V1
9testdata/language-features/recursion/simplerec03.lc 4:13-4:16 V4
diff --git a/testdata/line01.out b/testdata/line01.out
index 67124a52..a19722c6 100644
--- a/testdata/line01.out
+++ b/testdata/line01.out
@@ -33,12 +33,10 @@ Pipeline
33 vec4 scale(float z0,vec4 z1) { 33 vec4 scale(float z0,vec4 z1) {
34 return (z1) * (vec4 (z0,z0,z0,1.0)); 34 return (z1) * (vec4 (z0,z0,z0,1.0));
35 } 35 }
36 vec4 v3FToV4F(vec3 z0) {
37 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
38 }
39 void main() { 36 void main() {
40 gl_Position = scale (0.5,(MVP) * (v3FToV4F (vi1))); 37 gl_Position = scale
41 vo1 = v3FToV4F (vi1); 38 (0.5,(MVP) * (vec4 ((vi1).x,(vi1).y,(vi1).z,1.0)));
39 vo1 = vec4 ((vi1).x,(vi1).y,(vi1).z,1.0);
42 } 40 }
43 """ 41 """
44 , geometryShader = Nothing 42 , geometryShader = Nothing
diff --git a/testdata/simple02.out b/testdata/simple02.out
index faf41dea..63f86974 100644
--- a/testdata/simple02.out
+++ b/testdata/simple02.out
@@ -30,8 +30,9 @@ Pipeline
30 uniform mat4 MVP; 30 uniform mat4 MVP;
31 in vec4 vi1; 31 in vec4 vi1;
32 smooth out vec4 vo1; 32 smooth out vec4 vo1;
33 mat4 modelViewProj = MVP;
33 void main() { 34 void main() {
34 gl_Position = (MVP) * (vi1); 35 gl_Position = (modelViewProj) * (vi1);
35 vo1 = vi1; 36 vo1 = vi1;
36 } 37 }
37 """ 38 """
diff --git a/testdata/simple03.out b/testdata/simple03.out
index dc2dcca3..79bc503a 100644
--- a/testdata/simple03.out
+++ b/testdata/simple03.out
@@ -33,11 +33,12 @@ Pipeline
33 in vec3 vi1; 33 in vec3 vi1;
34 in vec3 vi2; 34 in vec3 vi2;
35 smooth out vec4 vo1; 35 smooth out vec4 vo1;
36 mat4 modelViewProj = viewProj;
36 vec4 v3FToV4F(vec3 z0) { 37 vec4 v3FToV4F(vec3 z0) {
37 return vec4 ((z0).x,(z0).y,(z0).z,1.0); 38 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
38 } 39 }
39 void main() { 40 void main() {
40 gl_Position = (viewProj) * (v3FToV4F (vi1)); 41 gl_Position = (modelViewProj) * (v3FToV4F (vi1));
41 vo1 = v3FToV4F (vi2); 42 vo1 = v3FToV4F (vi2);
42 } 43 }
43 """ 44 """
@@ -74,11 +75,12 @@ Pipeline
74 in vec3 vi1; 75 in vec3 vi1;
75 in vec3 vi2; 76 in vec3 vi2;
76 smooth out vec4 vo1; 77 smooth out vec4 vo1;
78 mat4 modelViewProj = viewProj;
77 vec4 v3FToV4F(vec3 z0) { 79 vec4 v3FToV4F(vec3 z0) {
78 return vec4 ((z0).x,(z0).y,(z0).z,1.0); 80 return vec4 ((z0).x,(z0).y,(z0).z,1.0);
79 } 81 }
80 void main() { 82 void main() {
81 gl_Position = (viewProj) * (v3FToV4F (vi1)); 83 gl_Position = (modelViewProj) * (v3FToV4F (vi1));
82 vo1 = v3FToV4F (vi2); 84 vo1 = v3FToV4F (vi2);
83 } 85 }
84 """ 86 """