diff options
39 files changed, 758 insertions, 684 deletions
diff --git a/lc/Builtins.lc b/lc/Builtins.lc index 9886b177..aac7fd8e 100644 --- a/lc/Builtins.lc +++ b/lc/Builtins.lc | |||
@@ -462,8 +462,17 @@ type family TFFrameBuffer a {-where | |||
462 | -} | 462 | -} |
463 | type family SameLayerCounts a | 463 | type family SameLayerCounts a |
464 | 464 | ||
465 | class DefaultFragOp a where defaultFragOp :: FragmentOperation a | ||
466 | instance DefaultFragOp (Color (VecS Float 4)) where defaultFragOp = ColorOp NoBlending (V4 True True True True) | ||
467 | instance DefaultFragOp (Depth Float) where defaultFragOp = DepthOp Less True | ||
468 | {- | ||
469 | class DefaultFragOps a where defaultFragOps :: a | ||
470 | instance (DefaultFragOp a, DefaultFragOp b) => DefaultFragOps (FragmentOperation a, FragmentOperation b) where | ||
471 | defaultFragOps = -- (undefined @(), undefined) | ||
472 | (defaultFragOp @a @_, defaultFragOp @b @_) | ||
473 | -} | ||
465 | data FrameBuffer (n :: Nat) b where | 474 | data FrameBuffer (n :: Nat) b where |
466 | Accumulate :: ({-x ~ FragOps' b, -}b ~ FragOps x) => x -> Stream (Fragment n d (RemSemantics b)) -> FrameBuffer n b -> FrameBuffer n b | 475 | Accumulate :: FragOps' b -> Stream (Fragment n d (RemSemantics b)) -> FrameBuffer n b -> FrameBuffer n b |
467 | FrameBuffer :: (ValidFrameBuffer b, SameLayerCounts a, FrameBuffer n b ~ TFFrameBuffer a) => a -> FrameBuffer n b | 476 | FrameBuffer :: (ValidFrameBuffer b, SameLayerCounts a, FrameBuffer n b ~ TFFrameBuffer a) => a -> FrameBuffer n b |
468 | 477 | ||
469 | accumulate ctx fshader fstr fb = Accumulate ctx (mapFragments fshader fstr) fb | 478 | accumulate ctx fshader fstr fb = Accumulate ctx (mapFragments fshader fstr) fb |
diff --git a/src/LambdaCube/Compiler/Infer.hs b/src/LambdaCube/Compiler/Infer.hs index bd361a1d..15c9e9dc 100644 --- a/src/LambdaCube/Compiler/Infer.hs +++ b/src/LambdaCube/Compiler/Infer.hs | |||
@@ -713,6 +713,8 @@ cstrT_ typ = cstr__ [] | |||
713 | cstr_ [] t@(TTyCon0 n) (UL (FunN "'VecScalar" [a, b])) | isElemTy n = t2 (cstrT TNat a (NatE 1)) (cstr__ [] b t) | 713 | cstr_ [] t@(TTyCon0 n) (UL (FunN "'VecScalar" [a, b])) | isElemTy n = t2 (cstrT TNat a (NatE 1)) (cstr__ [] b t) |
714 | cstr_ ns@[] (UL (FunN "'TFMat" [x, y])) (TyConN "'Mat" [i, j, a]) = t2 (cstr__ ns x (TVec i a)) (cstr__ ns y (TVec j a)) | 714 | cstr_ ns@[] (UL (FunN "'TFMat" [x, y])) (TyConN "'Mat" [i, j, a]) = t2 (cstr__ ns x (TVec i a)) (cstr__ ns y (TVec j a)) |
715 | cstr_ ns@[] (TyConN "'Tuple2" [x, y]) (UL (FunN "'JoinTupleType" [x', y'])) = t2 (cstr__ ns x x') (cstr__ ns y y') | 715 | cstr_ ns@[] (TyConN "'Tuple2" [x, y]) (UL (FunN "'JoinTupleType" [x', y'])) = t2 (cstr__ ns x x') (cstr__ ns y y') |
716 | cstr_ ns@[] (UL (FunN "'FragOps'" [a])) (TyConN "'FragmentOperation" [x]) = cstr__ ns a x | ||
717 | cstr_ ns@[] (UL (FunN "'FragOps'" [a])) (TyConN "'Tuple2" [TyConN "'FragmentOperation" [x], TyConN "'FragmentOperation" [y]]) = cstr__ ns a $ tTuple2 x y | ||
716 | cstr_ ns@[] (UL (FunN "'JoinTupleType" [x', y'])) (TyConN "'Tuple2" [x, y]) = t2 (cstr__ ns x' x) (cstr__ ns y' y) | 718 | cstr_ ns@[] (UL (FunN "'JoinTupleType" [x', y'])) (TyConN "'Tuple2" [x, y]) = t2 (cstr__ ns x' x) (cstr__ ns y' y) |
717 | cstr_ ns@[] (UL (FunN "'JoinTupleType" [x', y'])) x@NoTup = t2 (cstr__ ns x' x) (cstr__ ns y' TTuple0) | 719 | cstr_ ns@[] (UL (FunN "'JoinTupleType" [x', y'])) x@NoTup = t2 (cstr__ ns x' x) (cstr__ ns y' TTuple0) |
718 | cstr_ ns@[] (x@NoTup) (UL (FunN "'InterpolatedType" [x'])) = cstr__ ns (TInterpolated x) x' | 720 | cstr_ ns@[] (x@NoTup) (UL (FunN "'InterpolatedType" [x'])) = cstr__ ns (TInterpolated x) x' |
@@ -1666,17 +1668,18 @@ compileFunAlts :: Bool -> (SExp -> SExp) -> (SExp -> SExp) -> GlobalEnv' -> [Stm | |||
1666 | compileFunAlts par ulend lend ge ds = \case | 1668 | compileFunAlts par ulend lend ge ds = \case |
1667 | [Instance{}] -> [] | 1669 | [Instance{}] -> [] |
1668 | [Class n ps ms] -> compileFunAlts' SLabelEnd ge $ | 1670 | [Class n ps ms] -> compileFunAlts' SLabelEnd ge $ |
1669 | [ FunAlt n (map noTA ps) Nothing $ foldr ST2 (SGlobal (fst n', "'Unit")) cstrs | Instance n' ps cstrs _ <- ds, n == n' ] | 1671 | [ TypeAnn n $ foldr (SPi Visible) SType $ replicate (length ps) $ Wildcard SType ] |
1672 | ++ [ FunAlt n (map noTA ps) Nothing $ foldr ST2 (SGlobal (fst n', "'Unit")) cstrs | Instance n' ps cstrs _ <- ds, n == n' ] | ||
1670 | ++ [ FunAlt n (map noTA $ replicate (length ps) (PVar (debugSI "compileFunAlts1", "generated_name0"))) Nothing $ SGlobal (debugSI "compileFunAlts2","'Empty") `SAppV` sLit noSI (LString $ "no instance of " ++ snd n ++ " on ???")] | 1673 | ++ [ FunAlt n (map noTA $ replicate (length ps) (PVar (debugSI "compileFunAlts1", "generated_name0"))) Nothing $ SGlobal (debugSI "compileFunAlts2","'Empty") `SAppV` sLit noSI (LString $ "no instance of " ++ snd n ++ " on ???")] |
1671 | ++ concat | 1674 | ++ concat |
1672 | [ TypeAnn (debugSI "compileFunAlts3", m) (addParamsS (map ((,) Hidden) ps) $ SPi Hidden (foldl SAppV (SGlobal n) $ downToS 0 $ length ps) $ upS t) | 1675 | [ TypeAnn m (addParamsS (map ((,) Hidden) ps) $ SPi Hidden (foldl SAppV (SGlobal n) $ downToS 0 $ length ps) $ upS t) |
1673 | : [ FunAlt (si,m) p Nothing $ {- SLam Hidden (Wildcard SType) $ upS $ -} substS 0 (Var ic) $ upS__ (ic+1) 1 e | 1676 | : [ FunAlt m p Nothing $ {- SLam Hidden (Wildcard SType) $ upS $ -} substS 0 (Var ic) $ upS__ (ic+1) 1 e |
1674 | | Instance n' i cstrs alts <- ds, n' == n | 1677 | | Instance n' i cstrs alts <- ds, n' == n |
1675 | , Let (_,m') ~Nothing ~Nothing ar e <- alts, m' == m | 1678 | , Let m' ~Nothing ~Nothing ar e <- alts, m' == m |
1676 | , let p = zip ((,) Hidden <$> ps) i -- ++ ((Hidden, Wildcard SType), PVar): [] | 1679 | , let p = zip ((,) Hidden <$> ps) i -- ++ ((Hidden, Wildcard SType), PVar): [] |
1677 | , let ic = sum $ map varP i | 1680 | , let ic = sum $ map varP i |
1678 | ] | 1681 | ] |
1679 | | ((si, m), t) <- ms | 1682 | | (m, t) <- ms |
1680 | , let ts = fst $ getParamsS $ upS t | 1683 | , let ts = fst $ getParamsS $ upS t |
1681 | ] | 1684 | ] |
1682 | [TypeAnn n t] -> [Primitive n Nothing t | all (/= snd n) [n' | FunAlt (_, n') _ _ _ <- ds]] | 1685 | [TypeAnn n t] -> [Primitive n Nothing t | all (/= snd n) [n' | FunAlt (_, n') _ _ _ <- ds]] |
diff --git a/testdata/accept/Builtins.out b/testdata/accept/Builtins.out index 529cf76d..9fd0a762 100644 --- a/testdata/accept/Builtins.out +++ b/testdata/accept/Builtins.out | |||
@@ -39,10 +39,13 @@ tooltips: | |||
39 | ./testdata/accept/Builtins.lc 23:25-23:31 Type | 39 | ./testdata/accept/Builtins.lc 23:25-23:31 Type |
40 | ./testdata/accept/Builtins.lc 23:25-23:31 Type -> Type->Type | 40 | ./testdata/accept/Builtins.lc 23:25-23:31 Type -> Type->Type |
41 | ./testdata/accept/Builtins.lc 19:5-19:18 Type -> Type->Type | 41 | ./testdata/accept/Builtins.lc 19:5-19:18 Type -> Type->Type |
42 | ./testdata/accept/Builtins.lc 26:10-26:24 V0->Type | ||
42 | ./testdata/accept/Builtins.lc 26:10-26:24 Type | 43 | ./testdata/accept/Builtins.lc 26:10-26:24 Type |
43 | ./testdata/accept/Builtins.lc 25:7-25:21 {a} -> a->Type | 44 | ./testdata/accept/Builtins.lc 25:7-25:21 {a} -> a->Type |
45 | ./testdata/accept/Builtins.lc 28:10-28:21 V0->Type | ||
44 | ./testdata/accept/Builtins.lc 28:10-28:21 Type | 46 | ./testdata/accept/Builtins.lc 28:10-28:21 Type |
45 | ./testdata/accept/Builtins.lc 27:7-27:18 {a} -> a->Type | 47 | ./testdata/accept/Builtins.lc 27:7-27:18 {a} -> a->Type |
48 | ./testdata/accept/Builtins.lc 30:10-30:26 V0->Type | ||
46 | ./testdata/accept/Builtins.lc 30:10-30:26 Type | 49 | ./testdata/accept/Builtins.lc 30:10-30:26 Type |
47 | ./testdata/accept/Builtins.lc 29:7-29:23 {a} -> a->Type | 50 | ./testdata/accept/Builtins.lc 29:7-29:23 {a} -> a->Type |
48 | ./testdata/accept/Builtins.lc 32:17-32:21 Type | 51 | ./testdata/accept/Builtins.lc 32:17-32:21 Type |
@@ -403,7 +406,8 @@ tooltips: | |||
403 | ./testdata/accept/Builtins.lc 102:30-102:31 'VecS V1 V0 | 406 | ./testdata/accept/Builtins.lc 102:30-102:31 'VecS V1 V0 |
404 | ./testdata/accept/Builtins.lc 102:30-102:31 'VecS V6 V5 | 407 | ./testdata/accept/Builtins.lc 102:30-102:31 'VecS V6 V5 |
405 | ./testdata/accept/Builtins.lc 102:1-102:12 {a} -> {b:'Nat} -> {c:'Nat} -> 'VecS a b -> 'VecS 'Swizz c -> 'VecS a c | 408 | ./testdata/accept/Builtins.lc 102:1-102:12 {a} -> {b:'Nat} -> {c:'Nat} -> 'VecS a b -> 'VecS 'Swizz c -> 'VecS a c |
406 | ./testdata/accept/Builtins.lc 109:10-109:16 V0 | 409 | ./testdata/accept/Builtins.lc 109:10-110:30 V0->Type |
410 | ./testdata/accept/Builtins.lc 109:10-110:30 Type | ||
407 | ./testdata/accept/Builtins.lc 109:10-109:16 Type | 411 | ./testdata/accept/Builtins.lc 109:10-109:16 Type |
408 | ./testdata/accept/Builtins.lc 109:25-109:28 Type | 412 | ./testdata/accept/Builtins.lc 109:25-109:28 Type |
409 | ./testdata/accept/Builtins.lc 109:25-109:28 V1 | 413 | ./testdata/accept/Builtins.lc 109:25-109:28 V1 |
@@ -411,7 +415,8 @@ tooltips: | |||
411 | ./testdata/accept/Builtins.lc 110:10-110:16 Type | 415 | ./testdata/accept/Builtins.lc 110:10-110:16 Type |
412 | ./testdata/accept/Builtins.lc 110:25-110:30 Type | 416 | ./testdata/accept/Builtins.lc 110:25-110:30 Type |
413 | ./testdata/accept/Builtins.lc 107:7-107:13 Type->Type | 417 | ./testdata/accept/Builtins.lc 107:7-107:13 Type->Type |
414 | ./testdata/accept/Builtins.lc 117:10-117:13 V0 | 418 | ./testdata/accept/Builtins.lc 117:10-125:19 V0->Type |
419 | ./testdata/accept/Builtins.lc 117:10-125:19 Type | ||
415 | ./testdata/accept/Builtins.lc 117:10-117:13 Type | 420 | ./testdata/accept/Builtins.lc 117:10-117:13 Type |
416 | ./testdata/accept/Builtins.lc 117:14-117:17 Type | 421 | ./testdata/accept/Builtins.lc 117:14-117:17 Type |
417 | ./testdata/accept/Builtins.lc 117:14-117:17 V1 | 422 | ./testdata/accept/Builtins.lc 117:14-117:17 V1 |
@@ -470,7 +475,8 @@ tooltips: | |||
470 | ./testdata/accept/Builtins.lc 128:12-128:27 {a:'Unit} -> 'Float->'Float | 475 | ./testdata/accept/Builtins.lc 128:12-128:27 {a:'Unit} -> 'Float->'Float |
471 | ./testdata/accept/Builtins.lc 128:12-128:27 'Float->'Float | 476 | ./testdata/accept/Builtins.lc 128:12-128:27 'Float->'Float |
472 | ./testdata/accept/Builtins.lc 115:3-115:9 {a} -> {b : 'Num a} -> a->a | 477 | ./testdata/accept/Builtins.lc 115:3-115:9 {a} -> {b : 'Num a} -> a->a |
473 | ./testdata/accept/Builtins.lc 138:10-138:19 V0 | 478 | ./testdata/accept/Builtins.lc 138:10-184:19 V0->Type |
479 | ./testdata/accept/Builtins.lc 138:10-184:19 Type | ||
474 | ./testdata/accept/Builtins.lc 138:10-138:19 Type | 480 | ./testdata/accept/Builtins.lc 138:10-138:19 Type |
475 | ./testdata/accept/Builtins.lc 138:20-138:24 Type | 481 | ./testdata/accept/Builtins.lc 138:20-138:24 Type |
476 | ./testdata/accept/Builtins.lc 138:20-138:24 V1 | 482 | ./testdata/accept/Builtins.lc 138:20-138:24 V1 |
@@ -827,7 +833,8 @@ tooltips: | |||
827 | ./testdata/accept/Builtins.lc 189:26-189:30 'Bool | 833 | ./testdata/accept/Builtins.lc 189:26-189:30 'Bool |
828 | ./testdata/accept/Builtins.lc 189:31-189:35 'Bool | 834 | ./testdata/accept/Builtins.lc 189:31-189:35 'Bool |
829 | ./testdata/accept/Builtins.lc 135:3-135:10 {a} -> {b : 'Component a}->a | 835 | ./testdata/accept/Builtins.lc 135:3-135:10 {a} -> {b : 'Component a}->a |
830 | ./testdata/accept/Builtins.lc 193:10-193:18 V0 | 836 | ./testdata/accept/Builtins.lc 193:10-194:29 V0->Type |
837 | ./testdata/accept/Builtins.lc 193:10-194:29 Type | ||
831 | ./testdata/accept/Builtins.lc 193:10-193:18 Type | 838 | ./testdata/accept/Builtins.lc 193:10-193:18 Type |
832 | ./testdata/accept/Builtins.lc 193:25-193:28 Type | 839 | ./testdata/accept/Builtins.lc 193:25-193:28 Type |
833 | ./testdata/accept/Builtins.lc 193:25-193:28 V1 | 840 | ./testdata/accept/Builtins.lc 193:25-193:28 V1 |
@@ -835,7 +842,8 @@ tooltips: | |||
835 | ./testdata/accept/Builtins.lc 194:10-194:18 Type | 842 | ./testdata/accept/Builtins.lc 194:10-194:18 Type |
836 | ./testdata/accept/Builtins.lc 194:25-194:29 Type | 843 | ./testdata/accept/Builtins.lc 194:25-194:29 Type |
837 | ./testdata/accept/Builtins.lc 191:7-191:15 Type->Type | 844 | ./testdata/accept/Builtins.lc 191:7-191:15 Type->Type |
838 | ./testdata/accept/Builtins.lc 198:10-198:18 V0 | 845 | ./testdata/accept/Builtins.lc 198:10-210:18 V0->Type |
846 | ./testdata/accept/Builtins.lc 198:10-210:18 Type | ||
839 | ./testdata/accept/Builtins.lc 198:10-198:18 Type | 847 | ./testdata/accept/Builtins.lc 198:10-198:18 Type |
840 | ./testdata/accept/Builtins.lc 198:25-198:30 Type | 848 | ./testdata/accept/Builtins.lc 198:25-198:30 Type |
841 | ./testdata/accept/Builtins.lc 198:25-198:30 V1 | 849 | ./testdata/accept/Builtins.lc 198:25-198:30 V1 |
@@ -1454,652 +1462,704 @@ tooltips: | |||
1454 | ./testdata/accept/Builtins.lc 453:1-453:13 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) | 1462 | ./testdata/accept/Builtins.lc 453:1-453:13 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) |
1455 | ./testdata/accept/Builtins.lc 458:13-458:26 Type->Type | 1463 | ./testdata/accept/Builtins.lc 458:13-458:26 Type->Type |
1456 | ./testdata/accept/Builtins.lc 463:13-463:28 Type->Type | 1464 | ./testdata/accept/Builtins.lc 463:13-463:28 Type->Type |
1457 | ./testdata/accept/Builtins.lc 465:24-465:27 Type | 1465 | ./testdata/accept/Builtins.lc 466:10-467:36 V0->Type |
1458 | ./testdata/accept/Builtins.lc 465:6-465:17 'Nat -> Type->Type | 1466 | ./testdata/accept/Builtins.lc 466:10-467:36 Type |
1459 | ./testdata/accept/Builtins.lc 466:40-466:139 Type | 1467 | ./testdata/accept/Builtins.lc 466:10-466:23 Type->Type |
1460 | ./testdata/accept/Builtins.lc 466:40-466:41 Type | 1468 | ./testdata/accept/Builtins.lc 466:10-466:23 Type |
1461 | ./testdata/accept/Builtins.lc 466:44-466:51 Type->Type | 1469 | ./testdata/accept/Builtins.lc 466:10-466:23 Type -> 'Nat->Type |
1462 | ./testdata/accept/Builtins.lc 466:40-466:139 V3 | 1470 | ./testdata/accept/Builtins.lc 466:10-466:23 'Nat->Type |
1463 | ./testdata/accept/Builtins.lc 466:63-466:69 Type->Type | 1471 | ./testdata/accept/Builtins.lc 466:37-466:44 Type |
1464 | ./testdata/accept/Builtins.lc 466:71-466:79 'Nat -> 'DepthHandler -> Type->Type | 1472 | ./testdata/accept/Builtins.lc 466:37-466:44 V1 |
1465 | ./testdata/accept/Builtins.lc 466:80-466:81 'Nat | 1473 | ./testdata/accept/Builtins.lc 467:10-467:36 Type |
1466 | ./testdata/accept/Builtins.lc 466:40-466:139 'DepthHandler | 1474 | ./testdata/accept/Builtins.lc 467:10-467:23 Type->Type |
1467 | ./testdata/accept/Builtins.lc 466:85-466:99 Type | 1475 | ./testdata/accept/Builtins.lc 467:10-467:23 Type |
1468 | ./testdata/accept/Builtins.lc 466:85-466:97 Type->Type | 1476 | ./testdata/accept/Builtins.lc 467:31-467:36 Type |
1469 | ./testdata/accept/Builtins.lc 466:98-466:99 Type | 1477 | ./testdata/accept/Builtins.lc 465:7-465:20 Type->Type |
1470 | ./testdata/accept/Builtins.lc 466:105-466:139 Type | 1478 | ./testdata/accept/Builtins.lc 465:7-465:65 Type |
1471 | ./testdata/accept/Builtins.lc 466:105-466:116 'Nat -> Type->Type | 1479 | ./testdata/accept/Builtins.lc 465:46-465:65 Type |
1472 | ./testdata/accept/Builtins.lc 466:117-466:118 'Nat | 1480 | ./testdata/accept/Builtins.lc 465:46-465:63 Type->Type |
1473 | ./testdata/accept/Builtins.lc 466:119-466:120 Type | 1481 | ./testdata/accept/Builtins.lc 465:64-465:65 Type |
1474 | ./testdata/accept/Builtins.lc 466:124-466:139 Type | 1482 | ./testdata/accept/Builtins.lc 466:37-467:77 {a} -> {b : 'DefaultFragOp a} -> 'FragmentOperation a |
1475 | ./testdata/accept/Builtins.lc 466:124-466:135 'Nat -> Type->Type | 1483 | ./testdata/accept/Builtins.lc 466:37-467:77 {a : 'DefaultFragOp V0} -> 'FragmentOperation V1 |
1476 | ./testdata/accept/Builtins.lc 466:136-466:137 'Nat | 1484 | ./testdata/accept/Builtins.lc 466:69-466:111 a:Type -> {b : 'DefaultFragOp ('Color a)} -> 'FragmentOperation ('Color a) |
1477 | ./testdata/accept/Builtins.lc 466:138-466:139 Type | 1485 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color V0)} -> 'FragmentOperation ('Color V1) |
1478 | ./testdata/accept/Builtins.lc 466:3-466:13 {a:'Nat} -> {b} -> {c} -> {d:'DepthHandler} -> {e : b ~ 'FragOps c} -> c -> 'Stream ('Fragment a d ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | 1486 | ./testdata/accept/Builtins.lc 466:69-466:111 a:Type -> b:'Nat -> {c : 'DefaultFragOp ('Color ('VecS a b))} -> 'FragmentOperation ('Color ('VecS a b)) |
1479 | ./testdata/accept/Builtins.lc 467:20-467:117 Type | 1487 | ./testdata/accept/Builtins.lc 466:69-466:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS V1 a))} -> 'FragmentOperation ('Color ('VecS V2 a)) |
1480 | ./testdata/accept/Builtins.lc 467:20-467:36 {a} -> a->Type | 1488 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS V1 V0))} -> 'FragmentOperation ('Color ('VecS V2 V1)) |
1481 | ./testdata/accept/Builtins.lc 467:37-467:38 V0 | 1489 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS 'Float V0))} -> 'FragmentOperation ('Color ('VecS 'Float V1)) |
1482 | ./testdata/accept/Builtins.lc 467:37-467:38 Type | 1490 | ./testdata/accept/Builtins.lc 466:69-466:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ a)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ a))) |
1483 | ./testdata/accept/Builtins.lc 467:40-467:55 Type->Type | 1491 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ V0)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ V1))) |
1484 | ./testdata/accept/Builtins.lc 467:20-467:117 V2 | 1492 | ./testdata/accept/Builtins.lc 466:69-466:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ a))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ a)))) |
1485 | ./testdata/accept/Builtins.lc 467:59-467:74 Type | 1493 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ V0))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ V1)))) |
1486 | ./testdata/accept/Builtins.lc 467:59-467:70 'Nat -> Type->Type | 1494 | ./testdata/accept/Builtins.lc 466:69-466:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ a)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ a))))) |
1487 | ./testdata/accept/Builtins.lc 467:71-467:72 'Nat | 1495 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ V0)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ V1))))) |
1488 | ./testdata/accept/Builtins.lc 467:73-467:74 Type | 1496 | ./testdata/accept/Builtins.lc 466:69-466:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a)))))) |
1489 | ./testdata/accept/Builtins.lc 467:77-467:90 Type->Type | 1497 | ./testdata/accept/Builtins.lc 466:69-466:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V0))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V1)))))) |
1490 | ./testdata/accept/Builtins.lc 467:102-467:117 Type | 1498 | ./testdata/accept/Builtins.lc 466:69-466:111 {a:'Unit} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) |
1491 | ./testdata/accept/Builtins.lc 467:102-467:113 'Nat -> Type->Type | 1499 | ./testdata/accept/Builtins.lc 466:69-466:76 {a} -> {b:'Nat} -> {c} -> {d} -> {e : a ~ 'VecScalar b 'Bool} -> {f : c ~ 'VecScalar b d} -> {g : 'Num d} -> 'Blending d -> a -> 'FragmentOperation ('Color c) |
1492 | ./testdata/accept/Builtins.lc 467:114-467:115 'Nat | 1500 | ./testdata/accept/Builtins.lc 466:77-466:87 'Blending V1 |
1493 | ./testdata/accept/Builtins.lc 467:116-467:117 Type | 1501 | ./testdata/accept/Builtins.lc 466:77-466:87 {a} -> 'Blending a |
1494 | ./testdata/accept/Builtins.lc 467:3-467:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | 1502 | ./testdata/accept/Builtins.lc 466:89-466:111 'VecScalar V2 'Bool |
1495 | ./testdata/accept/Builtins.lc 469:34-469:44 {a:'Nat} -> {b} -> {c} -> {d:'DepthHandler} -> {e : b ~ 'FragOps c} -> c -> 'Stream ('Fragment a d ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | 1503 | ./testdata/accept/Builtins.lc 466:89-466:91 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) |
1496 | ./testdata/accept/Builtins.lc 469:50-469:62 'Stream ('Fragment V1 V0 ('RemSemantics ('FragOps V9))) | 1504 | ./testdata/accept/Builtins.lc 466:92-466:96 V0 |
1497 | ./testdata/accept/Builtins.lc 469:50-469:62 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) | 1505 | ./testdata/accept/Builtins.lc 466:92-466:96 'Bool |
1498 | ./testdata/accept/Builtins.lc 469:1-469:11 {a} -> {b:'Nat} -> {c:'DepthHandler} -> {d} -> a -> (d -> 'RemSemantics ('FragOps a)) -> 'Stream ('Fragment b c d) -> 'FrameBuffer b ('FragOps a) -> 'FrameBuffer b ('FragOps a) | 1506 | ./testdata/accept/Builtins.lc 466:97-466:101 'Bool |
1499 | ./testdata/accept/Builtins.lc 471:1-471:20 {a} -> a->a | 1507 | ./testdata/accept/Builtins.lc 466:102-466:106 'Bool |
1500 | ./testdata/accept/Builtins.lc 473:15-473:18 Type | 1508 | ./testdata/accept/Builtins.lc 466:107-466:111 'Bool |
1501 | ./testdata/accept/Builtins.lc 473:22-473:34 Type | 1509 | ./testdata/accept/Builtins.lc 467:31-467:77 {a : 'DefaultFragOp V1} -> 'FragmentOperation V2 |
1502 | ./testdata/accept/Builtins.lc 473:22-473:26 Type | 1510 | ./testdata/accept/Builtins.lc 467:60-467:77 a:Type -> {b : 'DefaultFragOp ('Depth a)} -> 'FragmentOperation ('Depth a) |
1503 | ./testdata/accept/Builtins.lc 473:30-473:34 Type | 1511 | ./testdata/accept/Builtins.lc 467:60-467:77 {a : 'DefaultFragOp ('Depth V0)} -> 'FragmentOperation ('Depth V1) |
1504 | ./testdata/accept/Builtins.lc 473:6-473:11 'Nat -> Type->Type | 1512 | ./testdata/accept/Builtins.lc 467:60-467:77 {a:'Unit} -> 'FragmentOperation ('Depth 'Float) |
1505 | ./testdata/accept/Builtins.lc 474:48-475:56 Type | 1513 | ./testdata/accept/Builtins.lc 467:60-467:67 'ComparisonFunction -> 'Bool -> 'FragmentOperation ('Depth 'Float) |
1506 | ./testdata/accept/Builtins.lc 474:48-474:51 Type->Type | 1514 | ./testdata/accept/Builtins.lc 467:68-467:72 'ComparisonFunction |
1507 | ./testdata/accept/Builtins.lc 474:52-474:53 Type | 1515 | ./testdata/accept/Builtins.lc 467:73-467:77 'Bool |
1508 | ./testdata/accept/Builtins.lc 474:52-474:53 V3 | 1516 | ./testdata/accept/Builtins.lc 465:29-465:42 {a} -> {b} -> {c : 'DefaultFragOp b} -> 'FragmentOperation b |
1509 | ./testdata/accept/Builtins.lc 474:55-475:56 Type | 1517 | ./testdata/accept/Builtins.lc 474:24-474:27 Type |
1510 | ./testdata/accept/Builtins.lc 474:55-474:60 Type | 1518 | ./testdata/accept/Builtins.lc 474:6-474:17 'Nat -> Type->Type |
1511 | ./testdata/accept/Builtins.lc 474:55-474:60 V2 | 1519 | ./testdata/accept/Builtins.lc 475:19-475:109 Type |
1512 | ./testdata/accept/Builtins.lc 474:63-474:76 Type | 1520 | ./testdata/accept/Builtins.lc 475:19-475:27 Type->Type |
1513 | ./testdata/accept/Builtins.lc 474:63-474:72 'Nat -> Type->Type | 1521 | ./testdata/accept/Builtins.lc 475:28-475:29 Type |
1514 | ./testdata/accept/Builtins.lc 474:73-474:74 'Nat | 1522 | ./testdata/accept/Builtins.lc 475:33-475:39 Type->Type |
1515 | ./testdata/accept/Builtins.lc 474:73-474:74 V4 | 1523 | ./testdata/accept/Builtins.lc 475:41-475:49 'Nat -> 'DepthHandler -> Type->Type |
1516 | ./testdata/accept/Builtins.lc 474:75-474:76 Type | 1524 | ./testdata/accept/Builtins.lc 475:50-475:51 'Nat |
1517 | ./testdata/accept/Builtins.lc 475:26-475:56 Type | 1525 | ./testdata/accept/Builtins.lc 475:19-475:109 'DepthHandler |
1518 | ./testdata/accept/Builtins.lc 475:26-475:31 Type | 1526 | ./testdata/accept/Builtins.lc 475:19-475:109 V2 |
1519 | ./testdata/accept/Builtins.lc 475:36-475:56 Type | 1527 | ./testdata/accept/Builtins.lc 475:55-475:69 Type |
1520 | ./testdata/accept/Builtins.lc 475:36-475:41 'Nat -> Type->Type | 1528 | ./testdata/accept/Builtins.lc 475:55-475:67 Type->Type |
1521 | ./testdata/accept/Builtins.lc 475:42-475:43 'Nat | 1529 | ./testdata/accept/Builtins.lc 475:68-475:69 Type |
1522 | ./testdata/accept/Builtins.lc 475:42-475:43 V7 | 1530 | ./testdata/accept/Builtins.lc 475:75-475:109 Type |
1523 | ./testdata/accept/Builtins.lc 475:45-475:56 Type | 1531 | ./testdata/accept/Builtins.lc 475:75-475:86 'Nat -> Type->Type |
1524 | ./testdata/accept/Builtins.lc 475:45-475:50 Type->Type | 1532 | ./testdata/accept/Builtins.lc 475:87-475:88 'Nat |
1525 | ./testdata/accept/Builtins.lc 475:51-475:56 Type | 1533 | ./testdata/accept/Builtins.lc 475:89-475:90 Type |
1526 | ./testdata/accept/Builtins.lc 474:3-474:13 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) | 1534 | ./testdata/accept/Builtins.lc 475:94-475:109 Type |
1527 | ./testdata/accept/Builtins.lc 476:37-476:67 Type | 1535 | ./testdata/accept/Builtins.lc 475:94-475:105 'Nat -> Type->Type |
1528 | ./testdata/accept/Builtins.lc 476:37-476:42 Type | 1536 | ./testdata/accept/Builtins.lc 475:106-475:107 'Nat |
1529 | ./testdata/accept/Builtins.lc 476:47-476:67 Type | 1537 | ./testdata/accept/Builtins.lc 475:108-475:109 Type |
1530 | ./testdata/accept/Builtins.lc 476:47-476:52 'Nat -> Type->Type | 1538 | ./testdata/accept/Builtins.lc 475:3-475:13 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1531 | ./testdata/accept/Builtins.lc 476:53-476:54 'Nat | 1539 | ./testdata/accept/Builtins.lc 476:20-476:117 Type |
1532 | ./testdata/accept/Builtins.lc 476:53-476:54 V2 | 1540 | ./testdata/accept/Builtins.lc 476:20-476:36 {a} -> a->Type |
1533 | ./testdata/accept/Builtins.lc 476:56-476:67 Type | 1541 | ./testdata/accept/Builtins.lc 476:37-476:38 V0 |
1534 | ./testdata/accept/Builtins.lc 476:56-476:61 Type->Type | 1542 | ./testdata/accept/Builtins.lc 476:37-476:38 Type |
1535 | ./testdata/accept/Builtins.lc 476:62-476:67 Type | 1543 | ./testdata/accept/Builtins.lc 476:40-476:55 Type->Type |
1536 | ./testdata/accept/Builtins.lc 476:3-476:13 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) | 1544 | ./testdata/accept/Builtins.lc 476:20-476:117 V2 |
1537 | ./testdata/accept/Builtins.lc 477:37-477:67 Type | 1545 | ./testdata/accept/Builtins.lc 476:59-476:74 Type |
1538 | ./testdata/accept/Builtins.lc 477:37-477:40 Type | 1546 | ./testdata/accept/Builtins.lc 476:59-476:70 'Nat -> Type->Type |
1539 | ./testdata/accept/Builtins.lc 477:47-477:67 Type | 1547 | ./testdata/accept/Builtins.lc 476:71-476:72 'Nat |
1540 | ./testdata/accept/Builtins.lc 477:47-477:52 'Nat -> Type->Type | 1548 | ./testdata/accept/Builtins.lc 476:73-476:74 Type |
1541 | ./testdata/accept/Builtins.lc 477:53-477:54 'Nat | 1549 | ./testdata/accept/Builtins.lc 476:77-476:90 Type->Type |
1542 | ./testdata/accept/Builtins.lc 477:53-477:54 V2 | 1550 | ./testdata/accept/Builtins.lc 476:102-476:117 Type |
1543 | ./testdata/accept/Builtins.lc 477:56-477:67 Type | 1551 | ./testdata/accept/Builtins.lc 476:102-476:113 'Nat -> Type->Type |
1544 | ./testdata/accept/Builtins.lc 477:56-477:63 Type->Type | 1552 | ./testdata/accept/Builtins.lc 476:114-476:115 'Nat |
1545 | ./testdata/accept/Builtins.lc 477:64-477:67 Type | 1553 | ./testdata/accept/Builtins.lc 476:116-476:117 Type |
1546 | ./testdata/accept/Builtins.lc 477:3-477:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int) | 1554 | ./testdata/accept/Builtins.lc 476:3-476:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b |
1547 | ./testdata/accept/Builtins.lc 480:26-480:54 Type | 1555 | ./testdata/accept/Builtins.lc 478:34-478:44 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1548 | ./testdata/accept/Builtins.lc 480:26-480:37 'Nat -> Type->Type | 1556 | ./testdata/accept/Builtins.lc 478:50-478:62 'Stream ('Fragment V2 V0 ('RemSemantics V1)) |
1549 | ./testdata/accept/Builtins.lc 480:26-480:54 V1 | 1557 | ./testdata/accept/Builtins.lc 478:50-478:62 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) |
1550 | ./testdata/accept/Builtins.lc 480:45-480:50 'Nat -> Type->Type | 1558 | ./testdata/accept/Builtins.lc 478:1-478:11 {a:'Nat} -> {b} -> {c:'DepthHandler} -> {d} -> 'FragOps' b -> (d -> 'RemSemantics b) -> 'Stream ('Fragment a c d) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1551 | ./testdata/accept/Builtins.lc 480:3-480:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a | 1559 | ./testdata/accept/Builtins.lc 480:1-480:20 {a} -> a->a |
1552 | ./testdata/accept/Builtins.lc 481:26-481:37 'Nat -> Type->Type | 1560 | ./testdata/accept/Builtins.lc 482:15-482:18 Type |
1553 | ./testdata/accept/Builtins.lc 481:40-481:74 Type | 1561 | ./testdata/accept/Builtins.lc 482:22-482:34 Type |
1554 | ./testdata/accept/Builtins.lc 481:40-481:74 Type -> Type->Type | 1562 | ./testdata/accept/Builtins.lc 482:22-482:26 Type |
1555 | ./testdata/accept/Builtins.lc 481:41-481:52 Type | 1563 | ./testdata/accept/Builtins.lc 482:30-482:34 Type |
1556 | ./testdata/accept/Builtins.lc 481:41-481:46 Type->Type | 1564 | ./testdata/accept/Builtins.lc 482:6-482:11 'Nat -> Type->Type |
1557 | ./testdata/accept/Builtins.lc 481:47-481:52 Type | 1565 | ./testdata/accept/Builtins.lc 483:48-484:56 Type |
1558 | ./testdata/accept/Builtins.lc 481:54-481:72 Type | 1566 | ./testdata/accept/Builtins.lc 483:48-483:51 Type->Type |
1559 | ./testdata/accept/Builtins.lc 481:54-481:59 Type->Type | 1567 | ./testdata/accept/Builtins.lc 483:52-483:53 Type |
1560 | ./testdata/accept/Builtins.lc 481:61-481:72 Type | 1568 | ./testdata/accept/Builtins.lc 483:52-483:53 V3 |
1561 | ./testdata/accept/Builtins.lc 481:61-481:64 'Nat -> Type->Type | 1569 | ./testdata/accept/Builtins.lc 483:55-484:56 Type |
1562 | ./testdata/accept/Builtins.lc 481:67-481:72 Type | 1570 | ./testdata/accept/Builtins.lc 483:55-483:60 Type |
1563 | ./testdata/accept/Builtins.lc 481:78-481:105 Type | 1571 | ./testdata/accept/Builtins.lc 483:55-483:60 V2 |
1564 | ./testdata/accept/Builtins.lc 481:78-481:83 'Nat -> Type->Type | 1572 | ./testdata/accept/Builtins.lc 483:63-483:76 Type |
1565 | ./testdata/accept/Builtins.lc 481:87-481:105 Type | 1573 | ./testdata/accept/Builtins.lc 483:63-483:72 'Nat -> Type->Type |
1566 | ./testdata/accept/Builtins.lc 481:87-481:92 Type->Type | 1574 | ./testdata/accept/Builtins.lc 483:73-483:74 'Nat |
1567 | ./testdata/accept/Builtins.lc 481:94-481:105 Type | 1575 | ./testdata/accept/Builtins.lc 483:73-483:74 V4 |
1568 | ./testdata/accept/Builtins.lc 481:94-481:97 'Nat -> Type->Type | 1576 | ./testdata/accept/Builtins.lc 483:75-483:76 Type |
1569 | ./testdata/accept/Builtins.lc 481:100-481:105 Type | 1577 | ./testdata/accept/Builtins.lc 484:26-484:56 Type |
1570 | ./testdata/accept/Builtins.lc 481:3-481:16 'FrameBuffer (Succ Zero) ('Tuple2 ('Depth 'Float) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))))) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) | 1578 | ./testdata/accept/Builtins.lc 484:26-484:31 Type |
1571 | ./testdata/accept/Builtins.lc 475:42-481:105 Type | 1579 | ./testdata/accept/Builtins.lc 484:36-484:56 Type |
1572 | ./testdata/accept/Builtins.lc 475:42-475:56 Type | 1580 | ./testdata/accept/Builtins.lc 484:36-484:41 'Nat -> Type->Type |
1573 | ./testdata/accept/Builtins.lc 476:53-481:105 Type | 1581 | ./testdata/accept/Builtins.lc 484:42-484:43 'Nat |
1574 | ./testdata/accept/Builtins.lc 476:53-476:67 Type | 1582 | ./testdata/accept/Builtins.lc 484:42-484:43 V7 |
1575 | ./testdata/accept/Builtins.lc 477:53-481:105 Type | 1583 | ./testdata/accept/Builtins.lc 484:45-484:56 Type |
1576 | ./testdata/accept/Builtins.lc 477:53-477:67 Type | 1584 | ./testdata/accept/Builtins.lc 484:45-484:50 Type->Type |
1577 | ./testdata/accept/Builtins.lc 480:26-481:105 Type | 1585 | ./testdata/accept/Builtins.lc 484:51-484:56 Type |
1578 | ./testdata/accept/Builtins.lc 483:6-483:12 Type | 1586 | ./testdata/accept/Builtins.lc 483:3-483:13 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) |
1579 | ./testdata/accept/Builtins.lc 484:26-484:51 Type | 1587 | ./testdata/accept/Builtins.lc 485:37-485:67 Type |
1580 | ./testdata/accept/Builtins.lc 484:26-484:37 'Nat -> Type->Type | 1588 | ./testdata/accept/Builtins.lc 485:37-485:42 Type |
1581 | ./testdata/accept/Builtins.lc 484:26-484:51 'Nat | 1589 | ./testdata/accept/Builtins.lc 485:47-485:67 Type |
1582 | ./testdata/accept/Builtins.lc 484:26-484:51 V3 | 1590 | ./testdata/accept/Builtins.lc 485:47-485:52 'Nat -> Type->Type |
1583 | ./testdata/accept/Builtins.lc 484:26-484:51 V1 | 1591 | ./testdata/accept/Builtins.lc 485:53-485:54 'Nat |
1584 | ./testdata/accept/Builtins.lc 484:45-484:51 Type | 1592 | ./testdata/accept/Builtins.lc 485:53-485:54 V2 |
1585 | ./testdata/accept/Builtins.lc 484:3-484:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | 1593 | ./testdata/accept/Builtins.lc 485:56-485:67 Type |
1586 | ./testdata/accept/Builtins.lc 490:34-490:73 Type | 1594 | ./testdata/accept/Builtins.lc 485:56-485:61 Type->Type |
1587 | ./testdata/accept/Builtins.lc 490:34-490:37 Type->Type | 1595 | ./testdata/accept/Builtins.lc 485:62-485:67 Type |
1588 | ./testdata/accept/Builtins.lc 490:39-490:55 Type->Type | 1596 | ./testdata/accept/Builtins.lc 485:3-485:13 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) |
1589 | ./testdata/accept/Builtins.lc 490:34-490:73 V1 | 1597 | ./testdata/accept/Builtins.lc 486:37-486:67 Type |
1590 | ./testdata/accept/Builtins.lc 490:1-490:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1598 | ./testdata/accept/Builtins.lc 486:37-486:40 Type |
1591 | ./testdata/accept/Builtins.lc 490:10-490:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1599 | ./testdata/accept/Builtins.lc 486:47-486:67 Type |
1592 | ./testdata/accept/Builtins.lc 490:19-490:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1600 | ./testdata/accept/Builtins.lc 486:47-486:52 'Nat -> Type->Type |
1593 | ./testdata/accept/Builtins.lc 491:35-491:80 Type | 1601 | ./testdata/accept/Builtins.lc 486:53-486:54 'Nat |
1594 | ./testdata/accept/Builtins.lc 491:35-491:80 V3 | 1602 | ./testdata/accept/Builtins.lc 486:53-486:54 V2 |
1595 | ./testdata/accept/Builtins.lc 491:39-491:55 Type->Type | 1603 | ./testdata/accept/Builtins.lc 486:56-486:67 Type |
1596 | ./testdata/accept/Builtins.lc 491:35-491:80 V1 | 1604 | ./testdata/accept/Builtins.lc 486:56-486:63 Type->Type |
1597 | ./testdata/accept/Builtins.lc 491:59-491:62 Type->Type | 1605 | ./testdata/accept/Builtins.lc 486:64-486:67 Type |
1598 | ./testdata/accept/Builtins.lc 491:1-491:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1606 | ./testdata/accept/Builtins.lc 486:3-486:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int) |
1599 | ./testdata/accept/Builtins.lc 491:11-491:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1607 | ./testdata/accept/Builtins.lc 489:26-489:54 Type |
1600 | ./testdata/accept/Builtins.lc 491:21-491:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1608 | ./testdata/accept/Builtins.lc 489:26-489:37 'Nat -> Type->Type |
1601 | ./testdata/accept/Builtins.lc 492:35-492:75 Type | 1609 | ./testdata/accept/Builtins.lc 489:26-489:54 V1 |
1602 | ./testdata/accept/Builtins.lc 492:35-492:38 Type->Type | 1610 | ./testdata/accept/Builtins.lc 489:45-489:50 'Nat -> Type->Type |
1603 | ./testdata/accept/Builtins.lc 492:35-492:75 V5 | 1611 | ./testdata/accept/Builtins.lc 489:3-489:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a |
1604 | ./testdata/accept/Builtins.lc 492:35-492:75 V4 | 1612 | ./testdata/accept/Builtins.lc 490:26-490:37 'Nat -> Type->Type |
1605 | ./testdata/accept/Builtins.lc 492:46-492:55 'Nat -> Type->Type | 1613 | ./testdata/accept/Builtins.lc 490:40-490:74 Type |
1606 | ./testdata/accept/Builtins.lc 492:35-492:75 'Nat | 1614 | ./testdata/accept/Builtins.lc 490:40-490:74 Type -> Type->Type |
1607 | ./testdata/accept/Builtins.lc 492:35-492:75 V2 | 1615 | ./testdata/accept/Builtins.lc 490:41-490:52 Type |
1608 | ./testdata/accept/Builtins.lc 492:1-492:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1616 | ./testdata/accept/Builtins.lc 490:41-490:46 Type->Type |
1609 | ./testdata/accept/Builtins.lc 492:10-492:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1617 | ./testdata/accept/Builtins.lc 490:47-490:52 Type |
1610 | ./testdata/accept/Builtins.lc 493:35-493:75 Type | 1618 | ./testdata/accept/Builtins.lc 490:54-490:72 Type |
1611 | ./testdata/accept/Builtins.lc 493:35-493:38 Type->Type | 1619 | ./testdata/accept/Builtins.lc 490:54-490:59 Type->Type |
1612 | ./testdata/accept/Builtins.lc 493:35-493:75 V5 | 1620 | ./testdata/accept/Builtins.lc 490:61-490:72 Type |
1613 | ./testdata/accept/Builtins.lc 493:35-493:75 V4 | 1621 | ./testdata/accept/Builtins.lc 490:61-490:64 'Nat -> Type->Type |
1614 | ./testdata/accept/Builtins.lc 493:46-493:55 'Nat -> Type->Type | 1622 | ./testdata/accept/Builtins.lc 490:67-490:72 Type |
1615 | ./testdata/accept/Builtins.lc 493:35-493:75 'Nat | 1623 | ./testdata/accept/Builtins.lc 490:78-490:105 Type |
1616 | ./testdata/accept/Builtins.lc 493:35-493:75 V2 | 1624 | ./testdata/accept/Builtins.lc 490:78-490:83 'Nat -> Type->Type |
1617 | ./testdata/accept/Builtins.lc 493:1-493:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1625 | ./testdata/accept/Builtins.lc 490:87-490:105 Type |
1618 | ./testdata/accept/Builtins.lc 493:11-493:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1626 | ./testdata/accept/Builtins.lc 490:87-490:92 Type->Type |
1619 | ./testdata/accept/Builtins.lc 494:34-494:71 Type | 1627 | ./testdata/accept/Builtins.lc 490:94-490:105 Type |
1620 | ./testdata/accept/Builtins.lc 494:34-494:40 Type->Type | 1628 | ./testdata/accept/Builtins.lc 490:94-490:97 'Nat -> Type->Type |
1621 | ./testdata/accept/Builtins.lc 494:42-494:58 Type->Type | 1629 | ./testdata/accept/Builtins.lc 490:100-490:105 Type |
1622 | ./testdata/accept/Builtins.lc 494:34-494:71 V1 | 1630 | ./testdata/accept/Builtins.lc 490:3-490:16 'FrameBuffer (Succ Zero) ('Tuple2 ('Depth 'Float) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))))) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) |
1623 | ./testdata/accept/Builtins.lc 494:1-494:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a | 1631 | ./testdata/accept/Builtins.lc 484:42-490:105 Type |
1624 | ./testdata/accept/Builtins.lc 496:35-496:80 Type | 1632 | ./testdata/accept/Builtins.lc 484:42-484:56 Type |
1625 | ./testdata/accept/Builtins.lc 496:35-496:43 Type->Type | 1633 | ./testdata/accept/Builtins.lc 485:53-490:105 Type |
1626 | ./testdata/accept/Builtins.lc 496:35-496:80 V5 | 1634 | ./testdata/accept/Builtins.lc 485:53-485:67 Type |
1627 | ./testdata/accept/Builtins.lc 496:35-496:80 V4 | 1635 | ./testdata/accept/Builtins.lc 486:53-490:105 Type |
1628 | ./testdata/accept/Builtins.lc 496:51-496:60 'Nat -> Type->Type | 1636 | ./testdata/accept/Builtins.lc 486:53-486:67 Type |
1629 | ./testdata/accept/Builtins.lc 496:35-496:80 'Nat | 1637 | ./testdata/accept/Builtins.lc 489:26-490:105 Type |
1630 | ./testdata/accept/Builtins.lc 496:35-496:80 V2 | 1638 | ./testdata/accept/Builtins.lc 492:6-492:12 Type |
1631 | ./testdata/accept/Builtins.lc 496:1-496:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1639 | ./testdata/accept/Builtins.lc 493:26-493:51 Type |
1632 | ./testdata/accept/Builtins.lc 496:11-496:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1640 | ./testdata/accept/Builtins.lc 493:26-493:37 'Nat -> Type->Type |
1633 | ./testdata/accept/Builtins.lc 496:20-496:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1641 | ./testdata/accept/Builtins.lc 493:26-493:51 'Nat |
1634 | ./testdata/accept/Builtins.lc 497:35-497:80 Type | 1642 | ./testdata/accept/Builtins.lc 493:26-493:51 V3 |
1635 | ./testdata/accept/Builtins.lc 497:35-497:43 Type->Type | 1643 | ./testdata/accept/Builtins.lc 493:26-493:51 V1 |
1636 | ./testdata/accept/Builtins.lc 497:35-497:80 V5 | 1644 | ./testdata/accept/Builtins.lc 493:45-493:51 Type |
1637 | ./testdata/accept/Builtins.lc 497:35-497:80 V4 | 1645 | ./testdata/accept/Builtins.lc 493:3-493:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output |
1638 | ./testdata/accept/Builtins.lc 497:51-497:60 'Nat -> Type->Type | 1646 | ./testdata/accept/Builtins.lc 499:34-499:73 Type |
1639 | ./testdata/accept/Builtins.lc 497:35-497:80 'Nat | 1647 | ./testdata/accept/Builtins.lc 499:34-499:37 Type->Type |
1640 | ./testdata/accept/Builtins.lc 497:35-497:80 V2 | 1648 | ./testdata/accept/Builtins.lc 499:39-499:55 Type->Type |
1641 | ./testdata/accept/Builtins.lc 497:1-497:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1649 | ./testdata/accept/Builtins.lc 499:34-499:73 V1 |
1642 | ./testdata/accept/Builtins.lc 497:12-497:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1650 | ./testdata/accept/Builtins.lc 499:1-499:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1643 | ./testdata/accept/Builtins.lc 497:22-497:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1651 | ./testdata/accept/Builtins.lc 499:10-499:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1644 | ./testdata/accept/Builtins.lc 498:35-498:75 Type | 1652 | ./testdata/accept/Builtins.lc 499:19-499:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1645 | ./testdata/accept/Builtins.lc 498:35-498:43 Type->Type | 1653 | ./testdata/accept/Builtins.lc 500:35-500:80 Type |
1646 | ./testdata/accept/Builtins.lc 498:35-498:75 V5 | 1654 | ./testdata/accept/Builtins.lc 500:35-500:80 V3 |
1647 | ./testdata/accept/Builtins.lc 498:35-498:75 V4 | 1655 | ./testdata/accept/Builtins.lc 500:39-500:55 Type->Type |
1648 | ./testdata/accept/Builtins.lc 498:51-498:60 'Nat -> Type->Type | 1656 | ./testdata/accept/Builtins.lc 500:35-500:80 V1 |
1649 | ./testdata/accept/Builtins.lc 498:35-498:75 'Nat | 1657 | ./testdata/accept/Builtins.lc 500:59-500:62 Type->Type |
1650 | ./testdata/accept/Builtins.lc 498:35-498:75 V2 | 1658 | ./testdata/accept/Builtins.lc 500:1-500:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1651 | ./testdata/accept/Builtins.lc 498:1-498:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b | 1659 | ./testdata/accept/Builtins.lc 500:11-500:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1652 | ./testdata/accept/Builtins.lc 499:35-499:102 Type | 1660 | ./testdata/accept/Builtins.lc 500:21-500:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1653 | ./testdata/accept/Builtins.lc 499:35-499:43 Type->Type | 1661 | ./testdata/accept/Builtins.lc 501:35-501:75 Type |
1654 | ./testdata/accept/Builtins.lc 499:35-499:102 V7 | 1662 | ./testdata/accept/Builtins.lc 501:35-501:38 Type->Type |
1655 | ./testdata/accept/Builtins.lc 499:35-499:102 V6 | 1663 | ./testdata/accept/Builtins.lc 501:35-501:75 V5 |
1656 | ./testdata/accept/Builtins.lc 499:51-499:60 'Nat -> Type->Type | 1664 | ./testdata/accept/Builtins.lc 501:35-501:75 V4 |
1657 | ./testdata/accept/Builtins.lc 499:35-499:102 'Nat | 1665 | ./testdata/accept/Builtins.lc 501:46-501:55 'Nat -> Type->Type |
1658 | ./testdata/accept/Builtins.lc 499:35-499:102 V4 | 1666 | ./testdata/accept/Builtins.lc 501:35-501:75 'Nat |
1659 | ./testdata/accept/Builtins.lc 499:35-499:102 V3 | 1667 | ./testdata/accept/Builtins.lc 501:35-501:75 V2 |
1660 | ./testdata/accept/Builtins.lc 499:70-499:79 'Nat -> Type->Type | 1668 | ./testdata/accept/Builtins.lc 501:1-501:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1661 | ./testdata/accept/Builtins.lc 499:82-499:86 Type | 1669 | ./testdata/accept/Builtins.lc 501:10-501:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1662 | ./testdata/accept/Builtins.lc 499:1-499:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | 1670 | ./testdata/accept/Builtins.lc 502:35-502:75 Type |
1663 | ./testdata/accept/Builtins.lc 499:14-499:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | 1671 | ./testdata/accept/Builtins.lc 502:35-502:38 Type->Type |
1664 | ./testdata/accept/Builtins.lc 500:35-500:83 Type | 1672 | ./testdata/accept/Builtins.lc 502:35-502:75 V5 |
1665 | ./testdata/accept/Builtins.lc 500:35-500:43 Type->Type | 1673 | ./testdata/accept/Builtins.lc 502:35-502:75 V4 |
1666 | ./testdata/accept/Builtins.lc 500:35-500:83 V5 | 1674 | ./testdata/accept/Builtins.lc 502:46-502:55 'Nat -> Type->Type |
1667 | ./testdata/accept/Builtins.lc 500:35-500:83 V4 | 1675 | ./testdata/accept/Builtins.lc 502:35-502:75 'Nat |
1668 | ./testdata/accept/Builtins.lc 500:51-500:60 'Nat -> Type->Type | 1676 | ./testdata/accept/Builtins.lc 502:35-502:75 V2 |
1669 | ./testdata/accept/Builtins.lc 500:35-500:83 'Nat | 1677 | ./testdata/accept/Builtins.lc 502:1-502:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1670 | ./testdata/accept/Builtins.lc 500:35-500:83 V2 | 1678 | ./testdata/accept/Builtins.lc 502:11-502:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1671 | ./testdata/accept/Builtins.lc 500:74-500:78 Type | 1679 | ./testdata/accept/Builtins.lc 503:34-503:71 Type |
1672 | ./testdata/accept/Builtins.lc 500:1-500:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | 1680 | ./testdata/accept/Builtins.lc 503:34-503:40 Type->Type |
1673 | ./testdata/accept/Builtins.lc 500:15-500:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | 1681 | ./testdata/accept/Builtins.lc 503:42-503:58 Type->Type |
1674 | ./testdata/accept/Builtins.lc 502:34-502:38 Type | 1682 | ./testdata/accept/Builtins.lc 503:34-503:71 V1 |
1675 | ./testdata/accept/Builtins.lc 502:42-502:54 Type | 1683 | ./testdata/accept/Builtins.lc 503:1-503:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a |
1676 | ./testdata/accept/Builtins.lc 502:42-502:46 Type | 1684 | ./testdata/accept/Builtins.lc 505:35-505:80 Type |
1677 | ./testdata/accept/Builtins.lc 502:50-502:54 Type | 1685 | ./testdata/accept/Builtins.lc 505:35-505:43 Type->Type |
1678 | ./testdata/accept/Builtins.lc 502:1-502:8 'Bool -> 'Bool->'Bool | 1686 | ./testdata/accept/Builtins.lc 505:35-505:80 V5 |
1679 | ./testdata/accept/Builtins.lc 502:10-502:16 'Bool -> 'Bool->'Bool | 1687 | ./testdata/accept/Builtins.lc 505:35-505:80 V4 |
1680 | ./testdata/accept/Builtins.lc 502:18-502:25 'Bool -> 'Bool->'Bool | 1688 | ./testdata/accept/Builtins.lc 505:51-505:60 'Nat -> Type->Type |
1681 | ./testdata/accept/Builtins.lc 503:35-503:66 Type | 1689 | ./testdata/accept/Builtins.lc 505:35-505:80 'Nat |
1682 | ./testdata/accept/Builtins.lc 503:35-503:66 V3 | 1690 | ./testdata/accept/Builtins.lc 505:35-505:80 V2 |
1683 | ./testdata/accept/Builtins.lc 503:39-503:48 'Nat -> Type->Type | 1691 | ./testdata/accept/Builtins.lc 505:1-505:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1684 | ./testdata/accept/Builtins.lc 503:35-503:66 'Nat | 1692 | ./testdata/accept/Builtins.lc 505:11-505:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1685 | ./testdata/accept/Builtins.lc 503:35-503:66 V1 | 1693 | ./testdata/accept/Builtins.lc 505:20-505:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1686 | ./testdata/accept/Builtins.lc 503:51-503:55 Type | 1694 | ./testdata/accept/Builtins.lc 506:35-506:80 Type |
1687 | ./testdata/accept/Builtins.lc 503:1-503:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a | 1695 | ./testdata/accept/Builtins.lc 506:35-506:43 Type->Type |
1688 | ./testdata/accept/Builtins.lc 504:34-504:58 Type | 1696 | ./testdata/accept/Builtins.lc 506:35-506:80 V5 |
1689 | ./testdata/accept/Builtins.lc 504:34-504:43 'Nat -> Type->Type | 1697 | ./testdata/accept/Builtins.lc 506:35-506:80 V4 |
1690 | ./testdata/accept/Builtins.lc 504:34-504:58 'Nat | 1698 | ./testdata/accept/Builtins.lc 506:51-506:60 'Nat -> Type->Type |
1691 | ./testdata/accept/Builtins.lc 504:34-504:58 V1 | 1699 | ./testdata/accept/Builtins.lc 506:35-506:80 'Nat |
1692 | ./testdata/accept/Builtins.lc 504:46-504:50 Type | 1700 | ./testdata/accept/Builtins.lc 506:35-506:80 V2 |
1693 | ./testdata/accept/Builtins.lc 504:54-504:58 Type | 1701 | ./testdata/accept/Builtins.lc 506:1-506:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1694 | ./testdata/accept/Builtins.lc 504:1-504:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | 1702 | ./testdata/accept/Builtins.lc 506:12-506:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1695 | ./testdata/accept/Builtins.lc 504:10-504:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | 1703 | ./testdata/accept/Builtins.lc 506:22-506:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1696 | ./testdata/accept/Builtins.lc 508:35-508:67 Type | 1704 | ./testdata/accept/Builtins.lc 507:35-507:75 Type |
1697 | ./testdata/accept/Builtins.lc 508:35-508:67 V3 | 1705 | ./testdata/accept/Builtins.lc 507:35-507:43 Type->Type |
1698 | ./testdata/accept/Builtins.lc 508:39-508:48 'Nat -> Type->Type | 1706 | ./testdata/accept/Builtins.lc 507:35-507:75 V5 |
1699 | ./testdata/accept/Builtins.lc 508:35-508:67 'Nat | 1707 | ./testdata/accept/Builtins.lc 507:35-507:75 V4 |
1700 | ./testdata/accept/Builtins.lc 508:35-508:67 V1 | 1708 | ./testdata/accept/Builtins.lc 507:51-507:60 'Nat -> Type->Type |
1701 | ./testdata/accept/Builtins.lc 508:51-508:56 Type | 1709 | ./testdata/accept/Builtins.lc 507:35-507:75 'Nat |
1702 | ./testdata/accept/Builtins.lc 507:1-507:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1710 | ./testdata/accept/Builtins.lc 507:35-507:75 V2 |
1703 | ./testdata/accept/Builtins.lc 507:11-507:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1711 | ./testdata/accept/Builtins.lc 507:1-507:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b |
1704 | ./testdata/accept/Builtins.lc 507:22-507:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1712 | ./testdata/accept/Builtins.lc 508:35-508:102 Type |
1705 | ./testdata/accept/Builtins.lc 507:32-507:41 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1713 | ./testdata/accept/Builtins.lc 508:35-508:43 Type->Type |
1706 | ./testdata/accept/Builtins.lc 507:43-507:51 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1714 | ./testdata/accept/Builtins.lc 508:35-508:102 V7 |
1707 | ./testdata/accept/Builtins.lc 507:53-507:62 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1715 | ./testdata/accept/Builtins.lc 508:35-508:102 V6 |
1708 | ./testdata/accept/Builtins.lc 507:64-507:71 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1716 | ./testdata/accept/Builtins.lc 508:51-508:60 'Nat -> Type->Type |
1709 | ./testdata/accept/Builtins.lc 507:73-507:81 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1717 | ./testdata/accept/Builtins.lc 508:35-508:102 'Nat |
1710 | ./testdata/accept/Builtins.lc 507:83-507:94 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1718 | ./testdata/accept/Builtins.lc 508:35-508:102 V4 |
1711 | ./testdata/accept/Builtins.lc 507:96-507:107 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1719 | ./testdata/accept/Builtins.lc 508:35-508:102 V3 |
1712 | ./testdata/accept/Builtins.lc 507:109-507:116 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1720 | ./testdata/accept/Builtins.lc 508:70-508:79 'Nat -> Type->Type |
1713 | ./testdata/accept/Builtins.lc 507:118-507:126 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1721 | ./testdata/accept/Builtins.lc 508:82-508:86 Type |
1714 | ./testdata/accept/Builtins.lc 507:128-507:135 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1722 | ./testdata/accept/Builtins.lc 508:1-508:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b |
1715 | ./testdata/accept/Builtins.lc 507:137-507:145 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1723 | ./testdata/accept/Builtins.lc 508:14-508:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b |
1716 | ./testdata/accept/Builtins.lc 507:147-507:154 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1724 | ./testdata/accept/Builtins.lc 509:35-509:83 Type |
1717 | ./testdata/accept/Builtins.lc 507:156-507:163 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1725 | ./testdata/accept/Builtins.lc 509:35-509:43 Type->Type |
1718 | ./testdata/accept/Builtins.lc 507:165-507:173 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1726 | ./testdata/accept/Builtins.lc 509:35-509:83 V5 |
1719 | ./testdata/accept/Builtins.lc 507:175-507:183 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1727 | ./testdata/accept/Builtins.lc 509:35-509:83 V4 |
1720 | ./testdata/accept/Builtins.lc 507:185-507:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1728 | ./testdata/accept/Builtins.lc 509:51-509:60 'Nat -> Type->Type |
1721 | ./testdata/accept/Builtins.lc 507:195-507:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1729 | ./testdata/accept/Builtins.lc 509:35-509:83 'Nat |
1722 | ./testdata/accept/Builtins.lc 509:35-509:72 Type | 1730 | ./testdata/accept/Builtins.lc 509:35-509:83 V2 |
1723 | ./testdata/accept/Builtins.lc 509:35-509:72 V3 | 1731 | ./testdata/accept/Builtins.lc 509:74-509:78 Type |
1724 | ./testdata/accept/Builtins.lc 509:39-509:48 'Nat -> Type->Type | 1732 | ./testdata/accept/Builtins.lc 509:1-509:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b |
1725 | ./testdata/accept/Builtins.lc 509:35-509:72 'Nat | 1733 | ./testdata/accept/Builtins.lc 509:15-509:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b |
1726 | ./testdata/accept/Builtins.lc 509:35-509:72 V1 | 1734 | ./testdata/accept/Builtins.lc 511:34-511:38 Type |
1727 | ./testdata/accept/Builtins.lc 509:51-509:56 Type | 1735 | ./testdata/accept/Builtins.lc 511:42-511:54 Type |
1728 | ./testdata/accept/Builtins.lc 509:1-509:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 1736 | ./testdata/accept/Builtins.lc 511:42-511:46 Type |
1729 | ./testdata/accept/Builtins.lc 509:10-509:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 1737 | ./testdata/accept/Builtins.lc 511:50-511:54 Type |
1730 | ./testdata/accept/Builtins.lc 512:35-512:67 Type | 1738 | ./testdata/accept/Builtins.lc 511:1-511:8 'Bool -> 'Bool->'Bool |
1731 | ./testdata/accept/Builtins.lc 512:35-512:67 V3 | 1739 | ./testdata/accept/Builtins.lc 511:10-511:16 'Bool -> 'Bool->'Bool |
1740 | ./testdata/accept/Builtins.lc 511:18-511:25 'Bool -> 'Bool->'Bool | ||
1741 | ./testdata/accept/Builtins.lc 512:35-512:66 Type | ||
1742 | ./testdata/accept/Builtins.lc 512:35-512:66 V3 | ||
1732 | ./testdata/accept/Builtins.lc 512:39-512:48 'Nat -> Type->Type | 1743 | ./testdata/accept/Builtins.lc 512:39-512:48 'Nat -> Type->Type |
1733 | ./testdata/accept/Builtins.lc 512:35-512:67 'Nat | 1744 | ./testdata/accept/Builtins.lc 512:35-512:66 'Nat |
1734 | ./testdata/accept/Builtins.lc 512:35-512:67 V1 | 1745 | ./testdata/accept/Builtins.lc 512:35-512:66 V1 |
1735 | ./testdata/accept/Builtins.lc 512:51-512:56 Type | 1746 | ./testdata/accept/Builtins.lc 512:51-512:55 Type |
1736 | ./testdata/accept/Builtins.lc 511:1-511:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1747 | ./testdata/accept/Builtins.lc 512:1-512:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a |
1737 | ./testdata/accept/Builtins.lc 511:12-511:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1748 | ./testdata/accept/Builtins.lc 513:34-513:58 Type |
1738 | ./testdata/accept/Builtins.lc 511:23-511:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1749 | ./testdata/accept/Builtins.lc 513:34-513:43 'Nat -> Type->Type |
1739 | ./testdata/accept/Builtins.lc 511:34-511:47 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1750 | ./testdata/accept/Builtins.lc 513:34-513:58 'Nat |
1740 | ./testdata/accept/Builtins.lc 511:49-511:57 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1751 | ./testdata/accept/Builtins.lc 513:34-513:58 V1 |
1741 | ./testdata/accept/Builtins.lc 511:59-511:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1752 | ./testdata/accept/Builtins.lc 513:46-513:50 Type |
1742 | ./testdata/accept/Builtins.lc 513:35-513:75 Type | 1753 | ./testdata/accept/Builtins.lc 513:54-513:58 Type |
1743 | ./testdata/accept/Builtins.lc 513:35-513:38 Type->Type | 1754 | ./testdata/accept/Builtins.lc 513:1-513:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool |
1744 | ./testdata/accept/Builtins.lc 513:35-513:75 V5 | 1755 | ./testdata/accept/Builtins.lc 513:10-513:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool |
1745 | ./testdata/accept/Builtins.lc 513:35-513:75 V4 | 1756 | ./testdata/accept/Builtins.lc 517:35-517:67 Type |
1746 | ./testdata/accept/Builtins.lc 513:46-513:55 'Nat -> Type->Type | 1757 | ./testdata/accept/Builtins.lc 517:35-517:67 V3 |
1747 | ./testdata/accept/Builtins.lc 513:35-513:75 'Nat | ||
1748 | ./testdata/accept/Builtins.lc 513:35-513:75 V2 | ||
1749 | ./testdata/accept/Builtins.lc 513:1-513:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1750 | ./testdata/accept/Builtins.lc 513:10-513:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1751 | ./testdata/accept/Builtins.lc 514:35-514:75 Type | ||
1752 | ./testdata/accept/Builtins.lc 514:35-514:38 Type->Type | ||
1753 | ./testdata/accept/Builtins.lc 514:35-514:75 V5 | ||
1754 | ./testdata/accept/Builtins.lc 514:35-514:75 V4 | ||
1755 | ./testdata/accept/Builtins.lc 514:46-514:55 'Nat -> Type->Type | ||
1756 | ./testdata/accept/Builtins.lc 514:35-514:75 'Nat | ||
1757 | ./testdata/accept/Builtins.lc 514:35-514:75 V2 | ||
1758 | ./testdata/accept/Builtins.lc 514:1-514:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1759 | ./testdata/accept/Builtins.lc 514:11-514:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1760 | ./testdata/accept/Builtins.lc 515:35-515:89 Type | ||
1761 | ./testdata/accept/Builtins.lc 515:35-515:89 V5 | ||
1762 | ./testdata/accept/Builtins.lc 515:39-515:48 'Nat -> Type->Type | ||
1763 | ./testdata/accept/Builtins.lc 515:35-515:89 'Nat | ||
1764 | ./testdata/accept/Builtins.lc 515:35-515:89 V3 | ||
1765 | ./testdata/accept/Builtins.lc 515:51-515:56 Type | ||
1766 | ./testdata/accept/Builtins.lc 515:35-515:89 V2 | ||
1767 | ./testdata/accept/Builtins.lc 515:62-515:71 'Nat -> Type->Type | ||
1768 | ./testdata/accept/Builtins.lc 515:74-515:78 Type | ||
1769 | ./testdata/accept/Builtins.lc 515:1-515:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | ||
1770 | ./testdata/accept/Builtins.lc 515:12-515:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | ||
1771 | ./testdata/accept/Builtins.lc 516:35-516:73 Type | ||
1772 | ./testdata/accept/Builtins.lc 516:35-516:41 Type->Type | ||
1773 | ./testdata/accept/Builtins.lc 516:35-516:73 V5 | ||
1774 | ./testdata/accept/Builtins.lc 516:35-516:73 V4 | ||
1775 | ./testdata/accept/Builtins.lc 516:49-516:58 'Nat -> Type->Type | ||
1776 | ./testdata/accept/Builtins.lc 516:35-516:73 'Nat | ||
1777 | ./testdata/accept/Builtins.lc 516:35-516:73 V2 | ||
1778 | ./testdata/accept/Builtins.lc 516:1-516:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1779 | ./testdata/accept/Builtins.lc 516:10-516:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1780 | ./testdata/accept/Builtins.lc 517:35-517:72 Type | ||
1781 | ./testdata/accept/Builtins.lc 517:35-517:72 V3 | ||
1782 | ./testdata/accept/Builtins.lc 517:39-517:48 'Nat -> Type->Type | 1758 | ./testdata/accept/Builtins.lc 517:39-517:48 'Nat -> Type->Type |
1783 | ./testdata/accept/Builtins.lc 517:35-517:72 'Nat | 1759 | ./testdata/accept/Builtins.lc 517:35-517:67 'Nat |
1784 | ./testdata/accept/Builtins.lc 517:35-517:72 V1 | 1760 | ./testdata/accept/Builtins.lc 517:35-517:67 V1 |
1785 | ./testdata/accept/Builtins.lc 517:51-517:56 Type | 1761 | ./testdata/accept/Builtins.lc 517:51-517:56 Type |
1786 | ./testdata/accept/Builtins.lc 517:66-517:72 Type -> Type->Type | 1762 | ./testdata/accept/Builtins.lc 516:1-516:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1787 | ./testdata/accept/Builtins.lc 517:1-517:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a | 1763 | ./testdata/accept/Builtins.lc 516:11-516:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1788 | ./testdata/accept/Builtins.lc 518:35-518:80 Type | 1764 | ./testdata/accept/Builtins.lc 516:22-516:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1789 | ./testdata/accept/Builtins.lc 518:35-518:38 Type->Type | 1765 | ./testdata/accept/Builtins.lc 516:32-516:41 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1790 | ./testdata/accept/Builtins.lc 518:35-518:80 V5 | 1766 | ./testdata/accept/Builtins.lc 516:43-516:51 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1791 | ./testdata/accept/Builtins.lc 518:35-518:80 V4 | 1767 | ./testdata/accept/Builtins.lc 516:53-516:62 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1792 | ./testdata/accept/Builtins.lc 518:46-518:55 'Nat -> Type->Type | 1768 | ./testdata/accept/Builtins.lc 516:64-516:71 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1793 | ./testdata/accept/Builtins.lc 518:35-518:80 'Nat | 1769 | ./testdata/accept/Builtins.lc 516:73-516:81 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1794 | ./testdata/accept/Builtins.lc 518:35-518:80 V2 | 1770 | ./testdata/accept/Builtins.lc 516:83-516:94 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1795 | ./testdata/accept/Builtins.lc 518:1-518:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b | 1771 | ./testdata/accept/Builtins.lc 516:96-516:107 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1796 | ./testdata/accept/Builtins.lc 519:35-519:80 Type | 1772 | ./testdata/accept/Builtins.lc 516:109-516:116 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1797 | ./testdata/accept/Builtins.lc 519:35-519:38 Type->Type | 1773 | ./testdata/accept/Builtins.lc 516:118-516:126 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1798 | ./testdata/accept/Builtins.lc 519:35-519:80 V5 | 1774 | ./testdata/accept/Builtins.lc 516:128-516:135 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1799 | ./testdata/accept/Builtins.lc 519:35-519:80 V4 | 1775 | ./testdata/accept/Builtins.lc 516:137-516:145 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1800 | ./testdata/accept/Builtins.lc 519:46-519:55 'Nat -> Type->Type | 1776 | ./testdata/accept/Builtins.lc 516:147-516:154 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1801 | ./testdata/accept/Builtins.lc 519:35-519:80 'Nat | 1777 | ./testdata/accept/Builtins.lc 516:156-516:163 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1802 | ./testdata/accept/Builtins.lc 519:35-519:80 V2 | 1778 | ./testdata/accept/Builtins.lc 516:165-516:173 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1803 | ./testdata/accept/Builtins.lc 519:1-519:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b | 1779 | ./testdata/accept/Builtins.lc 516:175-516:183 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1804 | ./testdata/accept/Builtins.lc 520:35-520:77 Type | 1780 | ./testdata/accept/Builtins.lc 516:185-516:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1805 | ./testdata/accept/Builtins.lc 520:35-520:77 V3 | 1781 | ./testdata/accept/Builtins.lc 516:195-516:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1806 | ./testdata/accept/Builtins.lc 520:39-520:48 'Nat -> Type->Type | 1782 | ./testdata/accept/Builtins.lc 518:35-518:72 Type |
1807 | ./testdata/accept/Builtins.lc 520:35-520:77 'Nat | 1783 | ./testdata/accept/Builtins.lc 518:35-518:72 V3 |
1808 | ./testdata/accept/Builtins.lc 520:35-520:77 V1 | 1784 | ./testdata/accept/Builtins.lc 518:39-518:48 'Nat -> Type->Type |
1809 | ./testdata/accept/Builtins.lc 520:51-520:56 Type | 1785 | ./testdata/accept/Builtins.lc 518:35-518:72 'Nat |
1810 | ./testdata/accept/Builtins.lc 520:1-520:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 1786 | ./testdata/accept/Builtins.lc 518:35-518:72 V1 |
1811 | ./testdata/accept/Builtins.lc 521:35-521:81 Type | 1787 | ./testdata/accept/Builtins.lc 518:51-518:56 Type |
1812 | ./testdata/accept/Builtins.lc 521:35-521:81 V3 | 1788 | ./testdata/accept/Builtins.lc 518:1-518:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a |
1789 | ./testdata/accept/Builtins.lc 518:10-518:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | ||
1790 | ./testdata/accept/Builtins.lc 521:35-521:67 Type | ||
1791 | ./testdata/accept/Builtins.lc 521:35-521:67 V3 | ||
1813 | ./testdata/accept/Builtins.lc 521:39-521:48 'Nat -> Type->Type | 1792 | ./testdata/accept/Builtins.lc 521:39-521:48 'Nat -> Type->Type |
1814 | ./testdata/accept/Builtins.lc 521:35-521:81 'Nat | 1793 | ./testdata/accept/Builtins.lc 521:35-521:67 'Nat |
1815 | ./testdata/accept/Builtins.lc 521:35-521:81 V1 | 1794 | ./testdata/accept/Builtins.lc 521:35-521:67 V1 |
1816 | ./testdata/accept/Builtins.lc 521:51-521:56 Type | 1795 | ./testdata/accept/Builtins.lc 521:51-521:56 Type |
1817 | ./testdata/accept/Builtins.lc 521:71-521:76 Type | 1796 | ./testdata/accept/Builtins.lc 520:1-520:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1818 | ./testdata/accept/Builtins.lc 521:1-521:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a | 1797 | ./testdata/accept/Builtins.lc 520:12-520:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1819 | ./testdata/accept/Builtins.lc 522:35-522:99 Type | 1798 | ./testdata/accept/Builtins.lc 520:23-520:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1820 | ./testdata/accept/Builtins.lc 522:35-522:99 V5 | 1799 | ./testdata/accept/Builtins.lc 520:34-520:47 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1821 | ./testdata/accept/Builtins.lc 522:39-522:48 'Nat -> Type->Type | 1800 | ./testdata/accept/Builtins.lc 520:49-520:57 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1822 | ./testdata/accept/Builtins.lc 522:35-522:99 'Nat | 1801 | ./testdata/accept/Builtins.lc 520:59-520:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1823 | ./testdata/accept/Builtins.lc 522:35-522:99 V3 | 1802 | ./testdata/accept/Builtins.lc 522:35-522:75 Type |
1824 | ./testdata/accept/Builtins.lc 522:51-522:56 Type | 1803 | ./testdata/accept/Builtins.lc 522:35-522:38 Type->Type |
1825 | ./testdata/accept/Builtins.lc 522:35-522:99 V2 | 1804 | ./testdata/accept/Builtins.lc 522:35-522:75 V5 |
1826 | ./testdata/accept/Builtins.lc 522:62-522:71 'Nat -> Type->Type | 1805 | ./testdata/accept/Builtins.lc 522:35-522:75 V4 |
1827 | ./testdata/accept/Builtins.lc 522:74-522:78 Type | 1806 | ./testdata/accept/Builtins.lc 522:46-522:55 'Nat -> Type->Type |
1828 | ./testdata/accept/Builtins.lc 522:1-522:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a | 1807 | ./testdata/accept/Builtins.lc 522:35-522:75 'Nat |
1829 | ./testdata/accept/Builtins.lc 523:35-523:68 Type | 1808 | ./testdata/accept/Builtins.lc 522:35-522:75 V2 |
1830 | ./testdata/accept/Builtins.lc 523:35-523:68 V3 | 1809 | ./testdata/accept/Builtins.lc 522:1-522:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1831 | ./testdata/accept/Builtins.lc 523:39-523:44 'Nat -> Type->Type | 1810 | ./testdata/accept/Builtins.lc 522:10-522:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1832 | ./testdata/accept/Builtins.lc 523:35-523:68 'Nat | 1811 | ./testdata/accept/Builtins.lc 523:35-523:75 Type |
1833 | ./testdata/accept/Builtins.lc 523:35-523:68 V1 | 1812 | ./testdata/accept/Builtins.lc 523:35-523:38 Type->Type |
1834 | ./testdata/accept/Builtins.lc 523:47-523:52 Type | 1813 | ./testdata/accept/Builtins.lc 523:35-523:75 V5 |
1835 | ./testdata/accept/Builtins.lc 523:1-523:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a | 1814 | ./testdata/accept/Builtins.lc 523:35-523:75 V4 |
1836 | ./testdata/accept/Builtins.lc 524:35-524:76 Type | 1815 | ./testdata/accept/Builtins.lc 523:46-523:55 'Nat -> Type->Type |
1837 | ./testdata/accept/Builtins.lc 524:35-524:76 V3 | 1816 | ./testdata/accept/Builtins.lc 523:35-523:75 'Nat |
1817 | ./testdata/accept/Builtins.lc 523:35-523:75 V2 | ||
1818 | ./testdata/accept/Builtins.lc 523:1-523:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1819 | ./testdata/accept/Builtins.lc 523:11-523:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1820 | ./testdata/accept/Builtins.lc 524:35-524:89 Type | ||
1821 | ./testdata/accept/Builtins.lc 524:35-524:89 V5 | ||
1838 | ./testdata/accept/Builtins.lc 524:39-524:48 'Nat -> Type->Type | 1822 | ./testdata/accept/Builtins.lc 524:39-524:48 'Nat -> Type->Type |
1839 | ./testdata/accept/Builtins.lc 524:35-524:76 'Nat | 1823 | ./testdata/accept/Builtins.lc 524:35-524:89 'Nat |
1840 | ./testdata/accept/Builtins.lc 524:35-524:76 V1 | 1824 | ./testdata/accept/Builtins.lc 524:35-524:89 V3 |
1841 | ./testdata/accept/Builtins.lc 524:51-524:56 Type | 1825 | ./testdata/accept/Builtins.lc 524:51-524:56 Type |
1842 | ./testdata/accept/Builtins.lc 524:61-524:66 Type | 1826 | ./testdata/accept/Builtins.lc 524:35-524:89 V2 |
1843 | ./testdata/accept/Builtins.lc 524:1-524:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a | 1827 | ./testdata/accept/Builtins.lc 524:62-524:71 'Nat -> Type->Type |
1828 | ./testdata/accept/Builtins.lc 524:74-524:78 Type | ||
1829 | ./testdata/accept/Builtins.lc 524:1-524:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | ||
1830 | ./testdata/accept/Builtins.lc 524:12-524:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | ||
1844 | ./testdata/accept/Builtins.lc 525:35-525:73 Type | 1831 | ./testdata/accept/Builtins.lc 525:35-525:73 Type |
1845 | ./testdata/accept/Builtins.lc 525:35-525:73 V3 | 1832 | ./testdata/accept/Builtins.lc 525:35-525:41 Type->Type |
1846 | ./testdata/accept/Builtins.lc 525:39-525:44 'Nat -> Type->Type | 1833 | ./testdata/accept/Builtins.lc 525:35-525:73 V5 |
1834 | ./testdata/accept/Builtins.lc 525:35-525:73 V4 | ||
1835 | ./testdata/accept/Builtins.lc 525:49-525:58 'Nat -> Type->Type | ||
1847 | ./testdata/accept/Builtins.lc 525:35-525:73 'Nat | 1836 | ./testdata/accept/Builtins.lc 525:35-525:73 'Nat |
1848 | ./testdata/accept/Builtins.lc 525:35-525:73 V1 | 1837 | ./testdata/accept/Builtins.lc 525:35-525:73 V2 |
1849 | ./testdata/accept/Builtins.lc 525:47-525:52 Type | 1838 | ./testdata/accept/Builtins.lc 525:1-525:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b |
1850 | ./testdata/accept/Builtins.lc 525:1-525:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a | 1839 | ./testdata/accept/Builtins.lc 525:10-525:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b |
1851 | ./testdata/accept/Builtins.lc 526:35-526:85 Type | 1840 | ./testdata/accept/Builtins.lc 526:35-526:72 Type |
1852 | ./testdata/accept/Builtins.lc 526:35-526:85 V3 | 1841 | ./testdata/accept/Builtins.lc 526:35-526:72 V3 |
1853 | ./testdata/accept/Builtins.lc 526:39-526:48 'Nat -> Type->Type | 1842 | ./testdata/accept/Builtins.lc 526:39-526:48 'Nat -> Type->Type |
1854 | ./testdata/accept/Builtins.lc 526:35-526:85 'Nat | 1843 | ./testdata/accept/Builtins.lc 526:35-526:72 'Nat |
1855 | ./testdata/accept/Builtins.lc 526:35-526:85 V1 | 1844 | ./testdata/accept/Builtins.lc 526:35-526:72 V1 |
1856 | ./testdata/accept/Builtins.lc 526:51-526:56 Type | 1845 | ./testdata/accept/Builtins.lc 526:51-526:56 Type |
1857 | ./testdata/accept/Builtins.lc 526:61-526:66 Type | 1846 | ./testdata/accept/Builtins.lc 526:66-526:72 Type -> Type->Type |
1858 | ./testdata/accept/Builtins.lc 526:70-526:75 Type | 1847 | ./testdata/accept/Builtins.lc 526:1-526:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a |
1859 | ./testdata/accept/Builtins.lc 526:1-526:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a | 1848 | ./testdata/accept/Builtins.lc 527:35-527:80 Type |
1860 | ./testdata/accept/Builtins.lc 529:34-529:70 Type | 1849 | ./testdata/accept/Builtins.lc 527:35-527:38 Type->Type |
1861 | ./testdata/accept/Builtins.lc 529:34-529:43 'Nat -> Type->Type | 1850 | ./testdata/accept/Builtins.lc 527:35-527:80 V5 |
1862 | ./testdata/accept/Builtins.lc 529:34-529:70 'Nat | 1851 | ./testdata/accept/Builtins.lc 527:35-527:80 V4 |
1863 | ./testdata/accept/Builtins.lc 529:34-529:70 V1 | 1852 | ./testdata/accept/Builtins.lc 527:46-527:55 'Nat -> Type->Type |
1864 | ./testdata/accept/Builtins.lc 529:46-529:51 Type | 1853 | ./testdata/accept/Builtins.lc 527:35-527:80 'Nat |
1865 | ./testdata/accept/Builtins.lc 529:55-529:64 'Nat -> Type->Type | 1854 | ./testdata/accept/Builtins.lc 527:35-527:80 V2 |
1866 | ./testdata/accept/Builtins.lc 529:67-529:70 Type | 1855 | ./testdata/accept/Builtins.lc 527:1-527:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b |
1867 | ./testdata/accept/Builtins.lc 529:1-529:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int | 1856 | ./testdata/accept/Builtins.lc 528:35-528:80 Type |
1868 | ./testdata/accept/Builtins.lc 530:34-530:71 Type | 1857 | ./testdata/accept/Builtins.lc 528:35-528:38 Type->Type |
1869 | ./testdata/accept/Builtins.lc 530:34-530:43 'Nat -> Type->Type | 1858 | ./testdata/accept/Builtins.lc 528:35-528:80 V5 |
1870 | ./testdata/accept/Builtins.lc 530:34-530:71 'Nat | 1859 | ./testdata/accept/Builtins.lc 528:35-528:80 V4 |
1871 | ./testdata/accept/Builtins.lc 530:34-530:71 V1 | 1860 | ./testdata/accept/Builtins.lc 528:46-528:55 'Nat -> Type->Type |
1872 | ./testdata/accept/Builtins.lc 530:46-530:51 Type | 1861 | ./testdata/accept/Builtins.lc 528:35-528:80 'Nat |
1873 | ./testdata/accept/Builtins.lc 530:55-530:64 'Nat -> Type->Type | 1862 | ./testdata/accept/Builtins.lc 528:35-528:80 V2 |
1874 | ./testdata/accept/Builtins.lc 530:67-530:71 Type | 1863 | ./testdata/accept/Builtins.lc 528:1-528:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b |
1875 | ./testdata/accept/Builtins.lc 530:1-530:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word | 1864 | ./testdata/accept/Builtins.lc 529:35-529:77 Type |
1876 | ./testdata/accept/Builtins.lc 531:34-531:72 Type | 1865 | ./testdata/accept/Builtins.lc 529:35-529:77 V3 |
1877 | ./testdata/accept/Builtins.lc 531:34-531:43 'Nat -> Type->Type | 1866 | ./testdata/accept/Builtins.lc 529:39-529:48 'Nat -> Type->Type |
1878 | ./testdata/accept/Builtins.lc 531:34-531:72 'Nat | 1867 | ./testdata/accept/Builtins.lc 529:35-529:77 'Nat |
1879 | ./testdata/accept/Builtins.lc 531:34-531:72 V1 | 1868 | ./testdata/accept/Builtins.lc 529:35-529:77 V1 |
1880 | ./testdata/accept/Builtins.lc 531:46-531:49 Type | 1869 | ./testdata/accept/Builtins.lc 529:51-529:56 Type |
1881 | ./testdata/accept/Builtins.lc 531:55-531:64 'Nat -> Type->Type | 1870 | ./testdata/accept/Builtins.lc 529:1-529:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1882 | ./testdata/accept/Builtins.lc 531:67-531:72 Type | 1871 | ./testdata/accept/Builtins.lc 530:35-530:81 Type |
1883 | ./testdata/accept/Builtins.lc 531:1-531:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float | 1872 | ./testdata/accept/Builtins.lc 530:35-530:81 V3 |
1884 | ./testdata/accept/Builtins.lc 532:34-532:72 Type | 1873 | ./testdata/accept/Builtins.lc 530:39-530:48 'Nat -> Type->Type |
1885 | ./testdata/accept/Builtins.lc 532:34-532:43 'Nat -> Type->Type | 1874 | ./testdata/accept/Builtins.lc 530:35-530:81 'Nat |
1886 | ./testdata/accept/Builtins.lc 532:34-532:72 'Nat | 1875 | ./testdata/accept/Builtins.lc 530:35-530:81 V1 |
1887 | ./testdata/accept/Builtins.lc 532:34-532:72 V1 | 1876 | ./testdata/accept/Builtins.lc 530:51-530:56 Type |
1888 | ./testdata/accept/Builtins.lc 532:46-532:50 Type | 1877 | ./testdata/accept/Builtins.lc 530:71-530:76 Type |
1889 | ./testdata/accept/Builtins.lc 532:55-532:64 'Nat -> Type->Type | 1878 | ./testdata/accept/Builtins.lc 530:1-530:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a |
1890 | ./testdata/accept/Builtins.lc 532:67-532:72 Type | 1879 | ./testdata/accept/Builtins.lc 531:35-531:99 Type |
1891 | ./testdata/accept/Builtins.lc 532:1-532:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float | 1880 | ./testdata/accept/Builtins.lc 531:35-531:99 V5 |
1892 | ./testdata/accept/Builtins.lc 534:35-534:71 Type | 1881 | ./testdata/accept/Builtins.lc 531:39-531:48 'Nat -> Type->Type |
1893 | ./testdata/accept/Builtins.lc 534:35-534:71 V3 | 1882 | ./testdata/accept/Builtins.lc 531:35-531:99 'Nat |
1894 | ./testdata/accept/Builtins.lc 534:39-534:48 'Nat -> Type->Type | 1883 | ./testdata/accept/Builtins.lc 531:35-531:99 V3 |
1895 | ./testdata/accept/Builtins.lc 534:35-534:71 'Nat | 1884 | ./testdata/accept/Builtins.lc 531:51-531:56 Type |
1896 | ./testdata/accept/Builtins.lc 534:35-534:71 V1 | 1885 | ./testdata/accept/Builtins.lc 531:35-531:99 V2 |
1897 | ./testdata/accept/Builtins.lc 534:51-534:56 Type | 1886 | ./testdata/accept/Builtins.lc 531:62-531:71 'Nat -> Type->Type |
1898 | ./testdata/accept/Builtins.lc 534:66-534:71 Type | 1887 | ./testdata/accept/Builtins.lc 531:74-531:78 Type |
1899 | ./testdata/accept/Builtins.lc 534:1-534:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float | 1888 | ./testdata/accept/Builtins.lc 531:1-531:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a |
1900 | ./testdata/accept/Builtins.lc 535:35-535:76 Type | 1889 | ./testdata/accept/Builtins.lc 532:35-532:68 Type |
1901 | ./testdata/accept/Builtins.lc 535:35-535:76 V3 | 1890 | ./testdata/accept/Builtins.lc 532:35-532:68 V3 |
1891 | ./testdata/accept/Builtins.lc 532:39-532:44 'Nat -> Type->Type | ||
1892 | ./testdata/accept/Builtins.lc 532:35-532:68 'Nat | ||
1893 | ./testdata/accept/Builtins.lc 532:35-532:68 V1 | ||
1894 | ./testdata/accept/Builtins.lc 532:47-532:52 Type | ||
1895 | ./testdata/accept/Builtins.lc 532:1-532:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a | ||
1896 | ./testdata/accept/Builtins.lc 533:35-533:76 Type | ||
1897 | ./testdata/accept/Builtins.lc 533:35-533:76 V3 | ||
1898 | ./testdata/accept/Builtins.lc 533:39-533:48 'Nat -> Type->Type | ||
1899 | ./testdata/accept/Builtins.lc 533:35-533:76 'Nat | ||
1900 | ./testdata/accept/Builtins.lc 533:35-533:76 V1 | ||
1901 | ./testdata/accept/Builtins.lc 533:51-533:56 Type | ||
1902 | ./testdata/accept/Builtins.lc 533:61-533:66 Type | ||
1903 | ./testdata/accept/Builtins.lc 533:1-533:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a | ||
1904 | ./testdata/accept/Builtins.lc 534:35-534:73 Type | ||
1905 | ./testdata/accept/Builtins.lc 534:35-534:73 V3 | ||
1906 | ./testdata/accept/Builtins.lc 534:39-534:44 'Nat -> Type->Type | ||
1907 | ./testdata/accept/Builtins.lc 534:35-534:73 'Nat | ||
1908 | ./testdata/accept/Builtins.lc 534:35-534:73 V1 | ||
1909 | ./testdata/accept/Builtins.lc 534:47-534:52 Type | ||
1910 | ./testdata/accept/Builtins.lc 534:1-534:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a | ||
1911 | ./testdata/accept/Builtins.lc 535:35-535:85 Type | ||
1912 | ./testdata/accept/Builtins.lc 535:35-535:85 V3 | ||
1902 | ./testdata/accept/Builtins.lc 535:39-535:48 'Nat -> Type->Type | 1913 | ./testdata/accept/Builtins.lc 535:39-535:48 'Nat -> Type->Type |
1903 | ./testdata/accept/Builtins.lc 535:35-535:76 'Nat | 1914 | ./testdata/accept/Builtins.lc 535:35-535:85 'Nat |
1904 | ./testdata/accept/Builtins.lc 535:35-535:76 V1 | 1915 | ./testdata/accept/Builtins.lc 535:35-535:85 V1 |
1905 | ./testdata/accept/Builtins.lc 535:51-535:56 Type | 1916 | ./testdata/accept/Builtins.lc 535:51-535:56 Type |
1906 | ./testdata/accept/Builtins.lc 535:71-535:76 Type | 1917 | ./testdata/accept/Builtins.lc 535:61-535:66 Type |
1907 | ./testdata/accept/Builtins.lc 535:1-535:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float | 1918 | ./testdata/accept/Builtins.lc 535:70-535:75 Type |
1908 | ./testdata/accept/Builtins.lc 535:15-535:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float | 1919 | ./testdata/accept/Builtins.lc 535:1-535:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a |
1909 | ./testdata/accept/Builtins.lc 536:35-536:72 Type | 1920 | ./testdata/accept/Builtins.lc 538:34-538:70 Type |
1910 | ./testdata/accept/Builtins.lc 536:35-536:72 V1 | 1921 | ./testdata/accept/Builtins.lc 538:34-538:43 'Nat -> Type->Type |
1911 | ./testdata/accept/Builtins.lc 536:39-536:56 Type | 1922 | ./testdata/accept/Builtins.lc 538:34-538:70 'Nat |
1912 | ./testdata/accept/Builtins.lc 536:39-536:48 'Nat -> Type->Type | 1923 | ./testdata/accept/Builtins.lc 538:34-538:70 V1 |
1913 | ./testdata/accept/Builtins.lc 536:51-536:56 Type | 1924 | ./testdata/accept/Builtins.lc 538:46-538:51 Type |
1914 | ./testdata/accept/Builtins.lc 536:1-536:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a | 1925 | ./testdata/accept/Builtins.lc 538:55-538:64 'Nat -> Type->Type |
1915 | ./testdata/accept/Builtins.lc 537:35-537:67 Type | 1926 | ./testdata/accept/Builtins.lc 538:67-538:70 Type |
1916 | ./testdata/accept/Builtins.lc 537:35-537:67 V3 | 1927 | ./testdata/accept/Builtins.lc 538:1-538:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int |
1917 | ./testdata/accept/Builtins.lc 537:39-537:48 'Nat -> Type->Type | 1928 | ./testdata/accept/Builtins.lc 539:34-539:71 Type |
1918 | ./testdata/accept/Builtins.lc 537:35-537:67 'Nat | 1929 | ./testdata/accept/Builtins.lc 539:34-539:43 'Nat -> Type->Type |
1919 | ./testdata/accept/Builtins.lc 537:35-537:67 V1 | 1930 | ./testdata/accept/Builtins.lc 539:34-539:71 'Nat |
1920 | ./testdata/accept/Builtins.lc 537:51-537:56 Type | 1931 | ./testdata/accept/Builtins.lc 539:34-539:71 V1 |
1921 | ./testdata/accept/Builtins.lc 537:1-537:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1932 | ./testdata/accept/Builtins.lc 539:46-539:51 Type |
1922 | ./testdata/accept/Builtins.lc 538:35-538:77 Type | 1933 | ./testdata/accept/Builtins.lc 539:55-539:64 'Nat -> Type->Type |
1923 | ./testdata/accept/Builtins.lc 538:35-538:77 V3 | 1934 | ./testdata/accept/Builtins.lc 539:67-539:71 Type |
1924 | ./testdata/accept/Builtins.lc 538:39-538:48 'Nat -> Type->Type | 1935 | ./testdata/accept/Builtins.lc 539:1-539:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word |
1925 | ./testdata/accept/Builtins.lc 538:35-538:77 'Nat | 1936 | ./testdata/accept/Builtins.lc 540:34-540:72 Type |
1926 | ./testdata/accept/Builtins.lc 538:35-538:77 V1 | 1937 | ./testdata/accept/Builtins.lc 540:34-540:43 'Nat -> Type->Type |
1927 | ./testdata/accept/Builtins.lc 538:51-538:56 Type | 1938 | ./testdata/accept/Builtins.lc 540:34-540:72 'Nat |
1928 | ./testdata/accept/Builtins.lc 538:1-538:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 1939 | ./testdata/accept/Builtins.lc 540:34-540:72 V1 |
1929 | ./testdata/accept/Builtins.lc 538:18-538:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 1940 | ./testdata/accept/Builtins.lc 540:46-540:49 Type |
1930 | ./testdata/accept/Builtins.lc 539:35-539:72 Type | 1941 | ./testdata/accept/Builtins.lc 540:55-540:64 'Nat -> Type->Type |
1931 | ./testdata/accept/Builtins.lc 539:35-539:72 V3 | 1942 | ./testdata/accept/Builtins.lc 540:67-540:72 Type |
1932 | ./testdata/accept/Builtins.lc 539:39-539:48 'Nat -> Type->Type | 1943 | ./testdata/accept/Builtins.lc 540:1-540:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float |
1933 | ./testdata/accept/Builtins.lc 539:35-539:72 'Nat | 1944 | ./testdata/accept/Builtins.lc 541:34-541:72 Type |
1934 | ./testdata/accept/Builtins.lc 539:35-539:72 V1 | 1945 | ./testdata/accept/Builtins.lc 541:34-541:43 'Nat -> Type->Type |
1935 | ./testdata/accept/Builtins.lc 539:51-539:56 Type | 1946 | ./testdata/accept/Builtins.lc 541:34-541:72 'Nat |
1936 | ./testdata/accept/Builtins.lc 539:1-539:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 1947 | ./testdata/accept/Builtins.lc 541:34-541:72 V1 |
1937 | ./testdata/accept/Builtins.lc 541:34-541:57 Type | 1948 | ./testdata/accept/Builtins.lc 541:46-541:50 Type |
1938 | ./testdata/accept/Builtins.lc 541:34-541:39 Type -> Type->Type | 1949 | ./testdata/accept/Builtins.lc 541:55-541:64 'Nat -> Type->Type |
1939 | ./testdata/accept/Builtins.lc 541:34-541:57 V3 | 1950 | ./testdata/accept/Builtins.lc 541:67-541:72 Type |
1940 | ./testdata/accept/Builtins.lc 541:34-541:57 V1 | 1951 | ./testdata/accept/Builtins.lc 541:1-541:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float |
1941 | ./testdata/accept/Builtins.lc 541:48-541:53 Type -> Type->Type | 1952 | ./testdata/accept/Builtins.lc 543:35-543:71 Type |
1942 | ./testdata/accept/Builtins.lc 541:1-541:14 {a} -> {b} -> 'TFMat a b -> 'TFMat b a | 1953 | ./testdata/accept/Builtins.lc 543:35-543:71 V3 |
1943 | ./testdata/accept/Builtins.lc 542:34-542:53 Type | 1954 | ./testdata/accept/Builtins.lc 543:39-543:48 'Nat -> Type->Type |
1944 | ./testdata/accept/Builtins.lc 542:34-542:39 Type -> Type->Type | 1955 | ./testdata/accept/Builtins.lc 543:35-543:71 'Nat |
1945 | ./testdata/accept/Builtins.lc 542:34-542:53 V1 | 1956 | ./testdata/accept/Builtins.lc 543:35-543:71 V1 |
1946 | ./testdata/accept/Builtins.lc 542:48-542:53 Type | 1957 | ./testdata/accept/Builtins.lc 543:51-543:56 Type |
1947 | ./testdata/accept/Builtins.lc 542:1-542:16 {a} -> 'TFMat a a -> 'Float | 1958 | ./testdata/accept/Builtins.lc 543:66-543:71 Type |
1948 | ./testdata/accept/Builtins.lc 543:34-543:57 Type | 1959 | ./testdata/accept/Builtins.lc 543:1-543:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float |
1949 | ./testdata/accept/Builtins.lc 543:34-543:39 Type -> Type->Type | 1960 | ./testdata/accept/Builtins.lc 544:35-544:76 Type |
1950 | ./testdata/accept/Builtins.lc 543:34-543:57 V1 | 1961 | ./testdata/accept/Builtins.lc 544:35-544:76 V3 |
1951 | ./testdata/accept/Builtins.lc 543:48-543:53 Type -> Type->Type | 1962 | ./testdata/accept/Builtins.lc 544:39-544:48 'Nat -> Type->Type |
1952 | ./testdata/accept/Builtins.lc 543:1-543:12 {a} -> 'TFMat a a -> 'TFMat a a | 1963 | ./testdata/accept/Builtins.lc 544:35-544:76 'Nat |
1953 | ./testdata/accept/Builtins.lc 544:34-544:71 Type | 1964 | ./testdata/accept/Builtins.lc 544:35-544:76 V1 |
1954 | ./testdata/accept/Builtins.lc 544:34-544:71 V3 | 1965 | ./testdata/accept/Builtins.lc 544:51-544:56 Type |
1955 | ./testdata/accept/Builtins.lc 544:34-544:71 V2 | 1966 | ./testdata/accept/Builtins.lc 544:71-544:76 Type |
1956 | ./testdata/accept/Builtins.lc 544:62-544:67 Type -> Type->Type | 1967 | ./testdata/accept/Builtins.lc 544:1-544:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float |
1957 | ./testdata/accept/Builtins.lc 544:1-544:17 {a} -> {b} -> a -> b -> 'TFMat b a | 1968 | ./testdata/accept/Builtins.lc 544:15-544:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float |
1958 | ./testdata/accept/Builtins.lc 545:34-545:63 Type | 1969 | ./testdata/accept/Builtins.lc 545:35-545:72 Type |
1959 | ./testdata/accept/Builtins.lc 545:34-545:39 Type -> Type->Type | 1970 | ./testdata/accept/Builtins.lc 545:35-545:72 V1 |
1960 | ./testdata/accept/Builtins.lc 545:34-545:63 V3 | 1971 | ./testdata/accept/Builtins.lc 545:39-545:56 Type |
1961 | ./testdata/accept/Builtins.lc 545:34-545:63 V1 | 1972 | ./testdata/accept/Builtins.lc 545:39-545:48 'Nat -> Type->Type |
1962 | ./testdata/accept/Builtins.lc 545:1-545:14 {a} -> {b} -> 'TFMat a b -> b->a | 1973 | ./testdata/accept/Builtins.lc 545:51-545:56 Type |
1963 | ./testdata/accept/Builtins.lc 546:34-546:63 Type | 1974 | ./testdata/accept/Builtins.lc 545:1-545:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a |
1964 | ./testdata/accept/Builtins.lc 546:34-546:63 V3 | 1975 | ./testdata/accept/Builtins.lc 546:35-546:67 Type |
1965 | ./testdata/accept/Builtins.lc 546:48-546:53 Type -> Type->Type | 1976 | ./testdata/accept/Builtins.lc 546:35-546:67 V3 |
1966 | ./testdata/accept/Builtins.lc 546:34-546:63 V2 | 1977 | ./testdata/accept/Builtins.lc 546:39-546:48 'Nat -> Type->Type |
1967 | ./testdata/accept/Builtins.lc 546:1-546:14 {a} -> {b} -> a -> 'TFMat a b -> b | 1978 | ./testdata/accept/Builtins.lc 546:35-546:67 'Nat |
1968 | ./testdata/accept/Builtins.lc 547:34-547:71 Type | 1979 | ./testdata/accept/Builtins.lc 546:35-546:67 V1 |
1969 | ./testdata/accept/Builtins.lc 547:34-547:39 Type -> Type->Type | 1980 | ./testdata/accept/Builtins.lc 546:51-546:56 Type |
1970 | ./testdata/accept/Builtins.lc 547:34-547:71 V5 | 1981 | ./testdata/accept/Builtins.lc 546:1-546:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1971 | ./testdata/accept/Builtins.lc 547:34-547:71 V3 | 1982 | ./testdata/accept/Builtins.lc 547:35-547:77 Type |
1972 | ./testdata/accept/Builtins.lc 547:48-547:53 Type -> Type->Type | 1983 | ./testdata/accept/Builtins.lc 547:35-547:77 V3 |
1973 | ./testdata/accept/Builtins.lc 547:34-547:71 V2 | 1984 | ./testdata/accept/Builtins.lc 547:39-547:48 'Nat -> Type->Type |
1974 | ./testdata/accept/Builtins.lc 547:62-547:67 Type -> Type->Type | 1985 | ./testdata/accept/Builtins.lc 547:35-547:77 'Nat |
1975 | ./testdata/accept/Builtins.lc 547:1-547:14 {a} -> {b} -> {c} -> 'TFMat a b -> 'TFMat b c -> 'TFMat a c | 1986 | ./testdata/accept/Builtins.lc 547:35-547:77 V1 |
1976 | ./testdata/accept/Builtins.lc 550:35-550:97 Type | 1987 | ./testdata/accept/Builtins.lc 547:51-547:56 Type |
1977 | ./testdata/accept/Builtins.lc 550:35-550:38 Type->Type | 1988 | ./testdata/accept/Builtins.lc 547:1-547:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1978 | ./testdata/accept/Builtins.lc 550:35-550:97 V7 | 1989 | ./testdata/accept/Builtins.lc 547:18-547:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1979 | ./testdata/accept/Builtins.lc 550:35-550:97 V6 | 1990 | ./testdata/accept/Builtins.lc 548:35-548:72 Type |
1980 | ./testdata/accept/Builtins.lc 550:46-550:55 'Nat -> Type->Type | 1991 | ./testdata/accept/Builtins.lc 548:35-548:72 V3 |
1981 | ./testdata/accept/Builtins.lc 550:35-550:97 'Nat | 1992 | ./testdata/accept/Builtins.lc 548:39-548:48 'Nat -> Type->Type |
1982 | ./testdata/accept/Builtins.lc 550:35-550:97 V4 | 1993 | ./testdata/accept/Builtins.lc 548:35-548:72 'Nat |
1983 | ./testdata/accept/Builtins.lc 550:35-550:97 V3 | 1994 | ./testdata/accept/Builtins.lc 548:35-548:72 V1 |
1984 | ./testdata/accept/Builtins.lc 550:65-550:74 'Nat -> Type->Type | 1995 | ./testdata/accept/Builtins.lc 548:51-548:56 Type |
1985 | ./testdata/accept/Builtins.lc 550:77-550:81 Type | 1996 | ./testdata/accept/Builtins.lc 548:1-548:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a |
1986 | ./testdata/accept/Builtins.lc 549:1-549:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 1997 | ./testdata/accept/Builtins.lc 550:34-550:57 Type |
1987 | ./testdata/accept/Builtins.lc 549:15-549:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 1998 | ./testdata/accept/Builtins.lc 550:34-550:39 Type -> Type->Type |
1988 | ./testdata/accept/Builtins.lc 549:34-549:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 1999 | ./testdata/accept/Builtins.lc 550:34-550:57 V3 |
1989 | ./testdata/accept/Builtins.lc 549:51-549:71 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 2000 | ./testdata/accept/Builtins.lc 550:34-550:57 V1 |
1990 | ./testdata/accept/Builtins.lc 549:73-549:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 2001 | ./testdata/accept/Builtins.lc 550:48-550:53 Type -> Type->Type |
1991 | ./testdata/accept/Builtins.lc 549:85-549:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | 2002 | ./testdata/accept/Builtins.lc 550:1-550:14 {a} -> {b} -> 'TFMat a b -> 'TFMat b a |
1992 | ./testdata/accept/Builtins.lc 551:35-551:76 Type | 2003 | ./testdata/accept/Builtins.lc 551:34-551:53 Type |
1993 | ./testdata/accept/Builtins.lc 551:35-551:76 V3 | 2004 | ./testdata/accept/Builtins.lc 551:34-551:39 Type -> Type->Type |
1994 | ./testdata/accept/Builtins.lc 551:39-551:55 Type->Type | 2005 | ./testdata/accept/Builtins.lc 551:34-551:53 V1 |
1995 | ./testdata/accept/Builtins.lc 551:35-551:76 V1 | 2006 | ./testdata/accept/Builtins.lc 551:48-551:53 Type |
1996 | ./testdata/accept/Builtins.lc 551:72-551:76 Type | 2007 | ./testdata/accept/Builtins.lc 551:1-551:16 {a} -> 'TFMat a a -> 'Float |
1997 | ./testdata/accept/Builtins.lc 551:1-551:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool | 2008 | ./testdata/accept/Builtins.lc 552:34-552:57 Type |
1998 | ./testdata/accept/Builtins.lc 551:12-551:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool | 2009 | ./testdata/accept/Builtins.lc 552:34-552:39 Type -> Type->Type |
1999 | ./testdata/accept/Builtins.lc 554:35-554:67 Type | 2010 | ./testdata/accept/Builtins.lc 552:34-552:57 V1 |
2000 | ./testdata/accept/Builtins.lc 554:35-554:67 V3 | 2011 | ./testdata/accept/Builtins.lc 552:48-552:53 Type -> Type->Type |
2001 | ./testdata/accept/Builtins.lc 554:39-554:48 'Nat -> Type->Type | 2012 | ./testdata/accept/Builtins.lc 552:1-552:12 {a} -> 'TFMat a a -> 'TFMat a a |
2002 | ./testdata/accept/Builtins.lc 554:35-554:67 'Nat | 2013 | ./testdata/accept/Builtins.lc 553:34-553:71 Type |
2003 | ./testdata/accept/Builtins.lc 554:35-554:67 V1 | 2014 | ./testdata/accept/Builtins.lc 553:34-553:71 V3 |
2004 | ./testdata/accept/Builtins.lc 554:51-554:56 Type | 2015 | ./testdata/accept/Builtins.lc 553:34-553:71 V2 |
2005 | ./testdata/accept/Builtins.lc 553:1-553:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 2016 | ./testdata/accept/Builtins.lc 553:62-553:67 Type -> Type->Type |
2006 | ./testdata/accept/Builtins.lc 553:11-553:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 2017 | ./testdata/accept/Builtins.lc 553:1-553:17 {a} -> {b} -> a -> b -> 'TFMat b a |
2007 | ./testdata/accept/Builtins.lc 553:21-553:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 2018 | ./testdata/accept/Builtins.lc 554:34-554:63 Type |
2008 | ./testdata/accept/Builtins.lc 556:34-556:60 Type | 2019 | ./testdata/accept/Builtins.lc 554:34-554:39 Type -> Type->Type |
2009 | ./testdata/accept/Builtins.lc 556:34-556:43 'Nat -> Type->Type | 2020 | ./testdata/accept/Builtins.lc 554:34-554:63 V3 |
2010 | ./testdata/accept/Builtins.lc 556:34-556:60 'Nat | 2021 | ./testdata/accept/Builtins.lc 554:34-554:63 V1 |
2011 | ./testdata/accept/Builtins.lc 556:34-556:60 V1 | 2022 | ./testdata/accept/Builtins.lc 554:1-554:14 {a} -> {b} -> 'TFMat a b -> b->a |
2012 | ./testdata/accept/Builtins.lc 556:46-556:51 Type | 2023 | ./testdata/accept/Builtins.lc 555:34-555:63 Type |
2013 | ./testdata/accept/Builtins.lc 556:55-556:60 Type | 2024 | ./testdata/accept/Builtins.lc 555:34-555:63 V3 |
2014 | ./testdata/accept/Builtins.lc 556:1-556:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float | 2025 | ./testdata/accept/Builtins.lc 555:48-555:53 Type -> Type->Type |
2015 | ./testdata/accept/Builtins.lc 557:34-557:66 Type | 2026 | ./testdata/accept/Builtins.lc 555:34-555:63 V2 |
2016 | ./testdata/accept/Builtins.lc 557:34-557:43 'Nat -> Type->Type | 2027 | ./testdata/accept/Builtins.lc 555:1-555:14 {a} -> {b} -> a -> 'TFMat a b -> b |
2017 | ./testdata/accept/Builtins.lc 557:34-557:66 'Nat | 2028 | ./testdata/accept/Builtins.lc 556:34-556:71 Type |
2018 | ./testdata/accept/Builtins.lc 557:34-557:66 V1 | 2029 | ./testdata/accept/Builtins.lc 556:34-556:39 Type -> Type->Type |
2019 | ./testdata/accept/Builtins.lc 557:46-557:51 Type | 2030 | ./testdata/accept/Builtins.lc 556:34-556:71 V5 |
2020 | ./testdata/accept/Builtins.lc 557:55-557:66 Type | 2031 | ./testdata/accept/Builtins.lc 556:34-556:71 V3 |
2021 | ./testdata/accept/Builtins.lc 557:55-557:58 'Nat -> Type->Type | 2032 | ./testdata/accept/Builtins.lc 556:48-556:53 Type -> Type->Type |
2022 | ./testdata/accept/Builtins.lc 557:61-557:66 Type | 2033 | ./testdata/accept/Builtins.lc 556:34-556:71 V2 |
2023 | ./testdata/accept/Builtins.lc 557:1-557:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero)) | 2034 | ./testdata/accept/Builtins.lc 556:62-556:67 Type -> Type->Type |
2024 | ./testdata/accept/Builtins.lc 558:34-558:66 Type | 2035 | ./testdata/accept/Builtins.lc 556:1-556:14 {a} -> {b} -> {c} -> 'TFMat a b -> 'TFMat b c -> 'TFMat a c |
2025 | ./testdata/accept/Builtins.lc 558:34-558:43 'Nat -> Type->Type | 2036 | ./testdata/accept/Builtins.lc 559:35-559:97 Type |
2026 | ./testdata/accept/Builtins.lc 558:34-558:66 'Nat | 2037 | ./testdata/accept/Builtins.lc 559:35-559:38 Type->Type |
2027 | ./testdata/accept/Builtins.lc 558:34-558:66 V1 | 2038 | ./testdata/accept/Builtins.lc 559:35-559:97 V7 |
2028 | ./testdata/accept/Builtins.lc 558:46-558:51 Type | 2039 | ./testdata/accept/Builtins.lc 559:35-559:97 V6 |
2029 | ./testdata/accept/Builtins.lc 558:55-558:66 Type | 2040 | ./testdata/accept/Builtins.lc 559:46-559:55 'Nat -> Type->Type |
2030 | ./testdata/accept/Builtins.lc 558:55-558:58 'Nat -> Type->Type | 2041 | ./testdata/accept/Builtins.lc 559:35-559:97 'Nat |
2031 | ./testdata/accept/Builtins.lc 558:61-558:66 Type | 2042 | ./testdata/accept/Builtins.lc 559:35-559:97 V4 |
2032 | ./testdata/accept/Builtins.lc 558:1-558:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero))) | 2043 | ./testdata/accept/Builtins.lc 559:35-559:97 V3 |
2033 | ./testdata/accept/Builtins.lc 559:34-559:66 Type | 2044 | ./testdata/accept/Builtins.lc 559:65-559:74 'Nat -> Type->Type |
2034 | ./testdata/accept/Builtins.lc 559:34-559:43 'Nat -> Type->Type | 2045 | ./testdata/accept/Builtins.lc 559:77-559:81 Type |
2035 | ./testdata/accept/Builtins.lc 559:34-559:66 'Nat | 2046 | ./testdata/accept/Builtins.lc 558:1-558:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2036 | ./testdata/accept/Builtins.lc 559:34-559:66 V1 | 2047 | ./testdata/accept/Builtins.lc 558:15-558:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2037 | ./testdata/accept/Builtins.lc 559:46-559:51 Type | 2048 | ./testdata/accept/Builtins.lc 558:34-558:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2038 | ./testdata/accept/Builtins.lc 559:55-559:66 Type | 2049 | ./testdata/accept/Builtins.lc 558:51-558:71 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2039 | ./testdata/accept/Builtins.lc 559:55-559:58 'Nat -> Type->Type | 2050 | ./testdata/accept/Builtins.lc 558:73-558:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2040 | ./testdata/accept/Builtins.lc 559:61-559:66 Type | 2051 | ./testdata/accept/Builtins.lc 558:85-558:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
2041 | ./testdata/accept/Builtins.lc 559:1-559:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) | 2052 | ./testdata/accept/Builtins.lc 560:35-560:76 Type |
2042 | ./testdata/accept/Builtins.lc 575:6-575:13 Type | 2053 | ./testdata/accept/Builtins.lc 560:35-560:76 V3 |
2043 | ./testdata/accept/Builtins.lc 576:20-576:26 Type | 2054 | ./testdata/accept/Builtins.lc 560:39-560:55 Type->Type |
2044 | ./testdata/accept/Builtins.lc 577:20-577:27 Type | 2055 | ./testdata/accept/Builtins.lc 560:35-560:76 V1 |
2045 | ./testdata/accept/Builtins.lc 576:3-576:16 'String->'Texture | 2056 | ./testdata/accept/Builtins.lc 560:72-560:76 Type |
2046 | ./testdata/accept/Builtins.lc 579:20-579:23 'Nat -> Type->Type | 2057 | ./testdata/accept/Builtins.lc 560:1-560:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool |
2047 | ./testdata/accept/Builtins.lc 579:26-579:29 Type | 2058 | ./testdata/accept/Builtins.lc 560:12-560:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool |
2048 | ./testdata/accept/Builtins.lc 580:20-581:27 Type | 2059 | ./testdata/accept/Builtins.lc 563:35-563:67 Type |
2049 | ./testdata/accept/Builtins.lc 580:20-580:25 'Nat -> Type->Type | 2060 | ./testdata/accept/Builtins.lc 563:35-563:67 V3 |
2050 | ./testdata/accept/Builtins.lc 580:29-580:47 Type | 2061 | ./testdata/accept/Builtins.lc 563:39-563:48 'Nat -> Type->Type |
2051 | ./testdata/accept/Builtins.lc 580:29-580:34 Type->Type | 2062 | ./testdata/accept/Builtins.lc 563:35-563:67 'Nat |
2052 | ./testdata/accept/Builtins.lc 580:36-580:47 Type | 2063 | ./testdata/accept/Builtins.lc 563:35-563:67 V1 |
2053 | ./testdata/accept/Builtins.lc 580:36-580:39 'Nat -> Type->Type | 2064 | ./testdata/accept/Builtins.lc 563:51-563:56 Type |
2054 | ./testdata/accept/Builtins.lc 580:42-580:47 Type | 2065 | ./testdata/accept/Builtins.lc 562:1-562:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
2055 | ./testdata/accept/Builtins.lc 581:20-581:27 Type | 2066 | ./testdata/accept/Builtins.lc 562:11-562:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
2056 | ./testdata/accept/Builtins.lc 579:3-579:12 'VecS 'Int (Succ (Succ Zero)) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) -> 'Texture | 2067 | ./testdata/accept/Builtins.lc 562:21-562:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
2057 | ./testdata/accept/Builtins.lc 583:6-583:12 Type | 2068 | ./testdata/accept/Builtins.lc 565:34-565:60 Type |
2058 | ./testdata/accept/Builtins.lc 584:5-584:16 'Filter | 2069 | ./testdata/accept/Builtins.lc 565:34-565:43 'Nat -> Type->Type |
2059 | ./testdata/accept/Builtins.lc 585:5-585:17 'Filter | 2070 | ./testdata/accept/Builtins.lc 565:34-565:60 'Nat |
2060 | ./testdata/accept/Builtins.lc 587:6-587:14 Type | 2071 | ./testdata/accept/Builtins.lc 565:34-565:60 V1 |
2061 | ./testdata/accept/Builtins.lc 588:5-588:11 'EdgeMode | 2072 | ./testdata/accept/Builtins.lc 565:46-565:51 Type |
2062 | ./testdata/accept/Builtins.lc 589:5-589:19 'EdgeMode | 2073 | ./testdata/accept/Builtins.lc 565:55-565:60 Type |
2063 | ./testdata/accept/Builtins.lc 590:5-590:16 'EdgeMode | 2074 | ./testdata/accept/Builtins.lc 565:1-565:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float |
2064 | ./testdata/accept/Builtins.lc 592:6-592:13 Type | 2075 | ./testdata/accept/Builtins.lc 566:34-566:66 Type |
2065 | ./testdata/accept/Builtins.lc 592:24-592:30 Type | 2076 | ./testdata/accept/Builtins.lc 566:34-566:43 'Nat -> Type->Type |
2066 | ./testdata/accept/Builtins.lc 592:6-592:47 Type | 2077 | ./testdata/accept/Builtins.lc 566:34-566:66 'Nat |
2067 | ./testdata/accept/Builtins.lc 592:31-592:39 Type | 2078 | ./testdata/accept/Builtins.lc 566:34-566:66 V1 |
2068 | ./testdata/accept/Builtins.lc 592:40-592:47 Type | 2079 | ./testdata/accept/Builtins.lc 566:46-566:51 Type |
2069 | ./testdata/accept/Builtins.lc 592:16-592:23 'Filter -> 'EdgeMode -> 'Texture->'Sampler | 2080 | ./testdata/accept/Builtins.lc 566:55-566:66 Type |
2070 | ./testdata/accept/Builtins.lc 595:14-595:21 Type | 2081 | ./testdata/accept/Builtins.lc 566:55-566:58 'Nat -> Type->Type |
2071 | ./testdata/accept/Builtins.lc 595:25-595:51 Type | 2082 | ./testdata/accept/Builtins.lc 566:61-566:66 Type |
2072 | ./testdata/accept/Builtins.lc 595:25-595:28 'Nat -> Type->Type | 2083 | ./testdata/accept/Builtins.lc 566:1-566:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero)) |
2073 | ./testdata/accept/Builtins.lc 595:31-595:36 Type | 2084 | ./testdata/accept/Builtins.lc 567:34-567:66 Type |
2074 | ./testdata/accept/Builtins.lc 595:40-595:51 Type | 2085 | ./testdata/accept/Builtins.lc 567:34-567:43 'Nat -> Type->Type |
2075 | ./testdata/accept/Builtins.lc 595:40-595:43 'Nat -> Type->Type | 2086 | ./testdata/accept/Builtins.lc 567:34-567:66 'Nat |
2076 | ./testdata/accept/Builtins.lc 595:46-595:51 Type | 2087 | ./testdata/accept/Builtins.lc 567:34-567:66 V1 |
2077 | ./testdata/accept/Builtins.lc 595:1-595:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) | 2088 | ./testdata/accept/Builtins.lc 567:46-567:51 Type |
2078 | ./testdata/accept/Builtins.lc 598:30-598:39 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | 2089 | ./testdata/accept/Builtins.lc 567:55-567:66 Type |
2079 | ./testdata/accept/Builtins.lc 598:41-598:60 V1->V1 | 2090 | ./testdata/accept/Builtins.lc 567:55-567:58 'Nat -> Type->Type |
2080 | ./testdata/accept/Builtins.lc 598:41-598:51 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Fragment (Succ Zero) DefinedDepth a | 2091 | ./testdata/accept/Builtins.lc 567:61-567:66 Type |
2081 | ./testdata/accept/Builtins.lc 598:53-598:60 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float | 2092 | ./testdata/accept/Builtins.lc 567:1-567:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero))) |
2082 | ./testdata/accept/Builtins.lc 598:59-598:60 'Float | 2093 | ./testdata/accept/Builtins.lc 568:34-568:66 Type |
2083 | ./testdata/accept/Builtins.lc 598:59-598:60 'Int | 2094 | ./testdata/accept/Builtins.lc 568:34-568:43 'Nat -> Type->Type |
2084 | ./testdata/accept/Builtins.lc 598:1-598:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | 2095 | ./testdata/accept/Builtins.lc 568:34-568:66 'Nat |
2085 | ./testdata/accept/Builtins.lc 599:46-599:55 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | 2096 | ./testdata/accept/Builtins.lc 568:34-568:66 V1 |
2086 | ./testdata/accept/Builtins.lc 599:57-599:67 V1->V1 | 2097 | ./testdata/accept/Builtins.lc 568:46-568:51 Type |
2087 | ./testdata/accept/Builtins.lc 599:57-599:67 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Fragment (Succ Zero) DefinedDepth a | 2098 | ./testdata/accept/Builtins.lc 568:55-568:66 Type |
2088 | ./testdata/accept/Builtins.lc 599:1-599:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | 2099 | ./testdata/accept/Builtins.lc 568:55-568:58 'Nat -> Type->Type |
2089 | ./testdata/accept/Builtins.lc 600:24-600:32 {a} -> {b} -> a -> b -> 'Tuple2 a b | 2100 | ./testdata/accept/Builtins.lc 568:61-568:66 Type |
2090 | ./testdata/accept/Builtins.lc 600:1-600:15 {a} -> {b} -> a -> b -> 'Tuple2 a b | 2101 | ./testdata/accept/Builtins.lc 568:1-568:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) |
2091 | ./testdata/accept/Builtins.lc 601:25-601:35 V2 -> V2->V2 | 2102 | ./testdata/accept/Builtins.lc 584:6-584:13 Type |
2092 | ./testdata/accept/Builtins.lc 601:25-601:35 V2->V2 | 2103 | ./testdata/accept/Builtins.lc 585:20-585:26 Type |
2093 | ./testdata/accept/Builtins.lc 601:25-601:35 V2 | 2104 | ./testdata/accept/Builtins.lc 586:20-586:27 Type |
2094 | ./testdata/accept/Builtins.lc 601:25-601:35 {a:'Nat} -> {b} -> {c} -> {d:'DepthHandler} -> {e : b ~ 'FragOps c} -> c -> 'Stream ('Fragment a d ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | 2105 | ./testdata/accept/Builtins.lc 585:3-585:16 'String->'Texture |
2095 | ./testdata/accept/Builtins.lc 601:13-601:21 'Tuple2 V2 ('Stream ('Fragment V1 V0 ('RemSemantics ('FragOps V2)))) | 2106 | ./testdata/accept/Builtins.lc 588:20-588:23 'Nat -> Type->Type |
2096 | ./testdata/accept/Builtins.lc 601:13-601:21 V4 | 2107 | ./testdata/accept/Builtins.lc 588:26-588:29 Type |
2097 | ./testdata/accept/Builtins.lc 601:1-601:8 {a} -> {b:'Nat} -> {c:'DepthHandler} -> 'FrameBuffer b ('FragOps a) -> 'Tuple2 a ('Stream ('Fragment b c ('RemSemantics ('FragOps a)))) -> 'FrameBuffer b ('FragOps a) | 2108 | ./testdata/accept/Builtins.lc 589:20-590:27 Type |
2098 | ./testdata/accept/Builtins.lc 602:15-602:24 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | 2109 | ./testdata/accept/Builtins.lc 589:20-589:25 'Nat -> Type->Type |
2099 | ./testdata/accept/Builtins.lc 602:1-602:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | 2110 | ./testdata/accept/Builtins.lc 589:29-589:47 Type |
2100 | ./testdata/accept/Builtins.lc 603:14-603:25 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | 2111 | ./testdata/accept/Builtins.lc 589:29-589:34 Type->Type |
2101 | ./testdata/accept/Builtins.lc 603:1-603:11 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | 2112 | ./testdata/accept/Builtins.lc 589:36-589:47 Type |
2102 | ./testdata/accept/Builtins.lc 604:19-604:29 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) | 2113 | ./testdata/accept/Builtins.lc 589:36-589:39 'Nat -> Type->Type |
2103 | ./testdata/accept/Builtins.lc 604:1-604:16 'Float -> 'Image (Succ Zero) ('Depth 'Float) | 2114 | ./testdata/accept/Builtins.lc 589:42-589:47 Type |
2104 | ./testdata/accept/Builtins.lc 605:19-605:29 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) | 2115 | ./testdata/accept/Builtins.lc 590:20-590:27 Type |
2105 | ./testdata/accept/Builtins.lc 605:1-605:16 {a:'Nat} -> {b} -> {c} -> {d : 'Num b} -> {e : c ~ 'VecScalar a b} -> c -> 'Image (Succ Zero) ('Color c) | 2116 | ./testdata/accept/Builtins.lc 588:3-588:12 'VecS 'Int (Succ (Succ Zero)) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) -> 'Texture |
2117 | ./testdata/accept/Builtins.lc 592:6-592:12 Type | ||
2118 | ./testdata/accept/Builtins.lc 593:5-593:16 'Filter | ||
2119 | ./testdata/accept/Builtins.lc 594:5-594:17 'Filter | ||
2120 | ./testdata/accept/Builtins.lc 596:6-596:14 Type | ||
2121 | ./testdata/accept/Builtins.lc 597:5-597:11 'EdgeMode | ||
2122 | ./testdata/accept/Builtins.lc 598:5-598:19 'EdgeMode | ||
2123 | ./testdata/accept/Builtins.lc 599:5-599:16 'EdgeMode | ||
2124 | ./testdata/accept/Builtins.lc 601:6-601:13 Type | ||
2125 | ./testdata/accept/Builtins.lc 601:24-601:30 Type | ||
2126 | ./testdata/accept/Builtins.lc 601:6-601:47 Type | ||
2127 | ./testdata/accept/Builtins.lc 601:31-601:39 Type | ||
2128 | ./testdata/accept/Builtins.lc 601:40-601:47 Type | ||
2129 | ./testdata/accept/Builtins.lc 601:16-601:23 'Filter -> 'EdgeMode -> 'Texture->'Sampler | ||
2130 | ./testdata/accept/Builtins.lc 604:14-604:21 Type | ||
2131 | ./testdata/accept/Builtins.lc 604:25-604:51 Type | ||
2132 | ./testdata/accept/Builtins.lc 604:25-604:28 'Nat -> Type->Type | ||
2133 | ./testdata/accept/Builtins.lc 604:31-604:36 Type | ||
2134 | ./testdata/accept/Builtins.lc 604:40-604:51 Type | ||
2135 | ./testdata/accept/Builtins.lc 604:40-604:43 'Nat -> Type->Type | ||
2136 | ./testdata/accept/Builtins.lc 604:46-604:51 Type | ||
2137 | ./testdata/accept/Builtins.lc 604:1-604:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) | ||
2138 | ./testdata/accept/Builtins.lc 607:30-607:39 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | ||
2139 | ./testdata/accept/Builtins.lc 607:41-607:60 V1->V1 | ||
2140 | ./testdata/accept/Builtins.lc 607:41-607:51 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Fragment (Succ Zero) DefinedDepth a | ||
2141 | ./testdata/accept/Builtins.lc 607:53-607:60 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float | ||
2142 | ./testdata/accept/Builtins.lc 607:59-607:60 'Float | ||
2143 | ./testdata/accept/Builtins.lc 607:59-607:60 'Int | ||
2144 | ./testdata/accept/Builtins.lc 607:1-607:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | ||
2145 | ./testdata/accept/Builtins.lc 608:46-608:55 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | ||
2146 | ./testdata/accept/Builtins.lc 608:57-608:67 V1->V1 | ||
2147 | ./testdata/accept/Builtins.lc 608:57-608:67 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Fragment (Succ Zero) DefinedDepth a | ||
2148 | ./testdata/accept/Builtins.lc 608:1-608:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | ||
2149 | ./testdata/accept/Builtins.lc 609:24-609:32 {a} -> {b} -> a -> b -> 'Tuple2 a b | ||
2150 | ./testdata/accept/Builtins.lc 609:1-609:15 {a} -> {b} -> a -> b -> 'Tuple2 a b | ||
2151 | ./testdata/accept/Builtins.lc 610:25-610:35 V2 -> V2->V2 | ||
2152 | ./testdata/accept/Builtins.lc 610:25-610:35 V2->V2 | ||
2153 | ./testdata/accept/Builtins.lc 610:25-610:35 V2 | ||
2154 | ./testdata/accept/Builtins.lc 610:25-610:35 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | ||
2155 | ./testdata/accept/Builtins.lc 610:13-610:21 'Tuple2 ('FragOps' V1) ('Stream ('Fragment V2 V0 ('RemSemantics V1))) | ||
2156 | ./testdata/accept/Builtins.lc 610:13-610:21 V4 | ||
2157 | ./testdata/accept/Builtins.lc 610:1-610:8 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FrameBuffer a b -> 'Tuple2 ('FragOps' b) ('Stream ('Fragment a c ('RemSemantics b))) -> 'FrameBuffer a b | ||
2158 | ./testdata/accept/Builtins.lc 611:15-611:24 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | ||
2159 | ./testdata/accept/Builtins.lc 611:1-611:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | ||
2160 | ./testdata/accept/Builtins.lc 612:14-612:25 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | ||
2161 | ./testdata/accept/Builtins.lc 612:1-612:11 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | ||
2162 | ./testdata/accept/Builtins.lc 613:19-613:29 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) | ||
2163 | ./testdata/accept/Builtins.lc 613:1-613:16 'Float -> 'Image (Succ Zero) ('Depth 'Float) | ||
2164 | ./testdata/accept/Builtins.lc 614:19-614:29 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) | ||
2165 | ./testdata/accept/Builtins.lc 614:1-614:16 {a:'Nat} -> {b} -> {c} -> {d : 'Num b} -> {e : c ~ 'VecScalar a b} -> c -> 'Image (Succ Zero) ('Color c) | ||
diff --git a/testdata/accept/Graphics.out b/testdata/accept/Graphics.out index 2d2849e6..32488ea3 100644 --- a/testdata/accept/Graphics.out +++ b/testdata/accept/Graphics.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q2",Parameter {name = "position", ty = V3F}),("r2",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q2 ;\nin vec4 r2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = r2;\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q2 ).x,( q2 ).y,( q2 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( v0 ).x ),( 1.0 ) - ( ( v0 ).y ),( 1.0 ) - ( ( v0 ).z ),1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("t5",Parameter {name = "position", ty = V3F}),("u5",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 t5 ;\nin vec4 u5 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( u5 ).x,( u5 ).y,( u5 ).z,0.5 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( t5 ).x,( t5 ).y,( t5 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c10",Parameter {name = "position", ty = V3F}),("d10",Parameter {name = "normal", ty = V3F}),("e10",Parameter {name = "diffuseUV", ty = V2F}),("f10",Parameter {name = "lightmapUV", ty = V2F}),("g10",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c10 ;\nin vec3 d10 ;\nin vec2 e10 ;\nin vec2 f10 ;\nin vec4 g10 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = f10;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c10 ).x,( c10 ).y,( c10 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k14",Parameter {name = "position", ty = V3F}),("l14",Parameter {name = "normal", ty = V3F}),("m14",Parameter {name = "diffuseUV", ty = V2F}),("n14",Parameter {name = "lightmapUV", ty = V2F}),("o14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_961527291",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k14 ;\nin vec3 l14 ;\nin vec2 m14 ;\nin vec2 n14 ;\nin vec4 o14 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = m14;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k14 ).x,( k14 ).y,( k14 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_961527291 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_961527291,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a19",Parameter {name = "position", ty = V3F}),("b19",Parameter {name = "normal", ty = V3F}),("c19",Parameter {name = "diffuseUV", ty = V2F}),("d19",Parameter {name = "lightmapUV", ty = V2F}),("e19",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a19 ;\nin vec3 b19 ;\nin vec2 c19 ;\nin vec2 d19 ;\nin vec4 e19 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = d19;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a19 ).x,( a19 ).y,( a19 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i23",Parameter {name = "position", ty = V3F}),("j23",Parameter {name = "normal", ty = V3F}),("k23",Parameter {name = "diffuseUV", ty = V2F}),("l23",Parameter {name = "lightmapUV", ty = V2F}),("m23",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1201212243",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i23 ;\nin vec3 j23 ;\nin vec2 k23 ;\nin vec2 l23 ;\nin vec4 m23 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = k23;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i23 ).x,( i23 ).y,( i23 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1201212243 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_1201212243,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a28",Parameter {name = "diffuseUV", ty = V2F}),("b28",Parameter {name = "lightmapUV", ty = V2F}),("c28",Parameter {name = "color", ty = V4F}),("y27",Parameter {name = "position", ty = V3F}),("z27",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y27 ;\nin vec3 z27 ;\nin vec2 a28 ;\nin vec2 b28 ;\nin vec4 c28 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = b28;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y27 ).x,( y27 ).y,( y27 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g32",Parameter {name = "position", ty = V3F}),("h32",Parameter {name = "normal", ty = V3F}),("i32",Parameter {name = "diffuseUV", ty = V2F}),("j32",Parameter {name = "lightmapUV", ty = V2F}),("k32",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2073154888",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g32 ;\nin vec3 h32 ;\nin vec2 i32 ;\nin vec2 j32 ;\nin vec4 k32 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = i32;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g32 ).x,( g32 ).y,( g32 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2073154888 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_2073154888,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a37",Parameter {name = "color", ty = V4F}),("w36",Parameter {name = "position", ty = V3F}),("x36",Parameter {name = "normal", ty = V3F}),("y36",Parameter {name = "diffuseUV", ty = V2F}),("z36",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w36 ;\nin vec3 x36 ;\nin vec2 y36 ;\nin vec2 z36 ;\nin vec4 a37 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = z36;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w36 ).x,( w36 ).y,( w36 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e41",Parameter {name = "position", ty = V3F}),("f41",Parameter {name = "normal", ty = V3F}),("g41",Parameter {name = "diffuseUV", ty = V2F}),("h41",Parameter {name = "lightmapUV", ty = V2F}),("i41",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3700433555",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e41 ;\nin vec3 f41 ;\nin vec2 g41 ;\nin vec2 h41 ;\nin vec4 i41 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = g41;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e41 ).x,( e41 ).y,( e41 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3700433555 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3700433555,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u45",Parameter {name = "position", ty = V3F}),("v45",Parameter {name = "normal", ty = V3F}),("w45",Parameter {name = "diffuseUV", ty = V2F}),("x45",Parameter {name = "lightmapUV", ty = V2F}),("y45",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u45 ;\nin vec3 v45 ;\nin vec2 w45 ;\nin vec2 x45 ;\nin vec4 y45 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = x45;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u45 ).x,( u45 ).y,( u45 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c50",Parameter {name = "position", ty = V3F}),("d50",Parameter {name = "normal", ty = V3F}),("e50",Parameter {name = "diffuseUV", ty = V2F}),("f50",Parameter {name = "lightmapUV", ty = V2F}),("g50",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3768122504",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c50 ;\nin vec3 d50 ;\nin vec2 e50 ;\nin vec2 f50 ;\nin vec4 g50 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = e50;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c50 ).x,( c50 ).y,( c50 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3768122504 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3768122504,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s54",Parameter {name = "position", ty = V3F}),("t54",Parameter {name = "normal", ty = V3F}),("u54",Parameter {name = "diffuseUV", ty = V2F}),("v54",Parameter {name = "lightmapUV", ty = V2F}),("w54",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s54 ;\nin vec3 t54 ;\nin vec2 u54 ;\nin vec2 v54 ;\nin vec4 w54 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = v54;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s54 ).x,( s54 ).y,( s54 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a59",Parameter {name = "position", ty = V3F}),("b59",Parameter {name = "normal", ty = V3F}),("c59",Parameter {name = "diffuseUV", ty = V2F}),("d59",Parameter {name = "lightmapUV", ty = V2F}),("e59",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3071107621",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a59 ;\nin vec3 b59 ;\nin vec2 c59 ;\nin vec2 d59 ;\nin vec4 e59 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = c59;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a59 ).x,( a59 ).y,( a59 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3071107621 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3071107621,v0 ) );\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V4F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [4,5]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [6,7]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [8,9]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [10,11]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_top", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [12,13]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 0.0)}],SetProgram 13,SetSamplerUniform "Tex_3071107621" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 12,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 11,SetSamplerUniform "Tex_3768122504" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 10,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 9,SetSamplerUniform "Tex_3700433555" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 8,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 7,SetSamplerUniform "Tex_2073154888" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 6,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 5,SetSamplerUniform "Tex_1201212243" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 4,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 3,SetSamplerUniform "Tex_961527291" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 2,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = Min, colorFSrc = One, colorFDst = One, alphaFSrc = One, alphaFDst = One, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 1.0) NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o2",Parameter {name = "position", ty = V3F}),("p2",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o2 ;\nin vec4 p2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = p2;\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o2 ).x,( o2 ).y,( o2 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( v0 ).x ),( 1.0 ) - ( ( v0 ).y ),( 1.0 ) - ( ( v0 ).z ),1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p5",Parameter {name = "position", ty = V3F}),("q5",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p5 ;\nin vec4 q5 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( q5 ).x,( q5 ).y,( q5 ).z,0.5 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p5 ).x,( p5 ).y,( p5 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a10",Parameter {name = "color", ty = V4F}),("w9",Parameter {name = "position", ty = V3F}),("x9",Parameter {name = "normal", ty = V3F}),("y9",Parameter {name = "diffuseUV", ty = V2F}),("z9",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w9 ;\nin vec3 x9 ;\nin vec2 y9 ;\nin vec2 z9 ;\nin vec4 a10 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = z9;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w9 ).x,( w9 ).y,( w9 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c14",Parameter {name = "position", ty = V3F}),("d14",Parameter {name = "normal", ty = V3F}),("e14",Parameter {name = "diffuseUV", ty = V2F}),("f14",Parameter {name = "lightmapUV", ty = V2F}),("g14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_961527291",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c14 ;\nin vec3 d14 ;\nin vec2 e14 ;\nin vec2 f14 ;\nin vec4 g14 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = e14;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c14 ).x,( c14 ).y,( c14 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_961527291 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_961527291,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q18",Parameter {name = "position", ty = V3F}),("r18",Parameter {name = "normal", ty = V3F}),("s18",Parameter {name = "diffuseUV", ty = V2F}),("t18",Parameter {name = "lightmapUV", ty = V2F}),("u18",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q18 ;\nin vec3 r18 ;\nin vec2 s18 ;\nin vec2 t18 ;\nin vec4 u18 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = t18;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q18 ).x,( q18 ).y,( q18 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a23",Parameter {name = "color", ty = V4F}),("w22",Parameter {name = "position", ty = V3F}),("x22",Parameter {name = "normal", ty = V3F}),("y22",Parameter {name = "diffuseUV", ty = V2F}),("z22",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_1201212243",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w22 ;\nin vec3 x22 ;\nin vec2 y22 ;\nin vec2 z22 ;\nin vec4 a23 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = y22;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w22 ).x,( w22 ).y,( w22 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1201212243 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_1201212243,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k27",Parameter {name = "position", ty = V3F}),("l27",Parameter {name = "normal", ty = V3F}),("m27",Parameter {name = "diffuseUV", ty = V2F}),("n27",Parameter {name = "lightmapUV", ty = V2F}),("o27",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k27 ;\nin vec3 l27 ;\nin vec2 m27 ;\nin vec2 n27 ;\nin vec4 o27 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = n27;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k27 ).x,( k27 ).y,( k27 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q31",Parameter {name = "position", ty = V3F}),("r31",Parameter {name = "normal", ty = V3F}),("s31",Parameter {name = "diffuseUV", ty = V2F}),("t31",Parameter {name = "lightmapUV", ty = V2F}),("u31",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2073154888",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q31 ;\nin vec3 r31 ;\nin vec2 s31 ;\nin vec2 t31 ;\nin vec4 u31 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = s31;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q31 ).x,( q31 ).y,( q31 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2073154888 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_2073154888,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e36",Parameter {name = "position", ty = V3F}),("f36",Parameter {name = "normal", ty = V3F}),("g36",Parameter {name = "diffuseUV", ty = V2F}),("h36",Parameter {name = "lightmapUV", ty = V2F}),("i36",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e36 ;\nin vec3 f36 ;\nin vec2 g36 ;\nin vec2 h36 ;\nin vec4 i36 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = h36;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e36 ).x,( e36 ).y,( e36 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k40",Parameter {name = "position", ty = V3F}),("l40",Parameter {name = "normal", ty = V3F}),("m40",Parameter {name = "diffuseUV", ty = V2F}),("n40",Parameter {name = "lightmapUV", ty = V2F}),("o40",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3700433555",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k40 ;\nin vec3 l40 ;\nin vec2 m40 ;\nin vec2 n40 ;\nin vec4 o40 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = m40;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k40 ).x,( k40 ).y,( k40 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3700433555 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3700433555,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a45",Parameter {name = "diffuseUV", ty = V2F}),("b45",Parameter {name = "lightmapUV", ty = V2F}),("c45",Parameter {name = "color", ty = V4F}),("y44",Parameter {name = "position", ty = V3F}),("z44",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y44 ;\nin vec3 z44 ;\nin vec2 a45 ;\nin vec2 b45 ;\nin vec4 c45 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = b45;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y44 ).x,( y44 ).y,( y44 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e49",Parameter {name = "position", ty = V3F}),("f49",Parameter {name = "normal", ty = V3F}),("g49",Parameter {name = "diffuseUV", ty = V2F}),("h49",Parameter {name = "lightmapUV", ty = V2F}),("i49",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3768122504",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e49 ;\nin vec3 f49 ;\nin vec2 g49 ;\nin vec2 h49 ;\nin vec4 i49 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = g49;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e49 ).x,( e49 ).y,( e49 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3768122504 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3768122504,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s53",Parameter {name = "position", ty = V3F}),("t53",Parameter {name = "normal", ty = V3F}),("u53",Parameter {name = "diffuseUV", ty = V2F}),("v53",Parameter {name = "lightmapUV", ty = V2F}),("w53",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s53 ;\nin vec3 t53 ;\nin vec2 u53 ;\nin vec2 v53 ;\nin vec4 w53 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = v53;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s53 ).x,( s53 ).y,( s53 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a58",Parameter {name = "diffuseUV", ty = V2F}),("b58",Parameter {name = "lightmapUV", ty = V2F}),("c58",Parameter {name = "color", ty = V4F}),("y57",Parameter {name = "position", ty = V3F}),("z57",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_3071107621",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y57 ;\nin vec3 z57 ;\nin vec2 a58 ;\nin vec2 b58 ;\nin vec4 c58 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = a58;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y57 ).x,( y57 ).y,( y57 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3071107621 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3071107621,v0 ) );\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V4F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [4,5]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [6,7]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [8,9]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [10,11]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_top", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [12,13]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 0.0)}],SetProgram 13,SetSamplerUniform "Tex_3071107621" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 12,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 11,SetSamplerUniform "Tex_3768122504" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 10,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 9,SetSamplerUniform "Tex_3700433555" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 8,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 7,SetSamplerUniform "Tex_2073154888" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 6,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 5,SetSamplerUniform "Tex_1201212243" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 4,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 3,SetSamplerUniform "Tex_961527291" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 2,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = Min, colorFSrc = One, colorFDst = One, alphaFSrc = One, alphaFDst = One, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 1.0) NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/HyperbolicParaboloic.out b/testdata/accept/HyperbolicParaboloic.out index 5b296eb3..c37fd574 100644 --- a/testdata/accept/HyperbolicParaboloic.out +++ b/testdata/accept/HyperbolicParaboloic.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("q1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( Mouse ).y ) * ( 0.0 ),( ( ( 0.5 ) * ( ( Mouse ).x ) ) * ( 0.0 ) ) * ( 0.0 ),( ( Mouse ).y ) * ( 0.0 ),1.0 ) ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,-3.0,-3.0,0.0,3.0,-3.0,0.0,-3.0,-2.0,0.0,3.0,-2.0,0.0,-3.0,-1.0,0.0,3.0,-1.0,0.0,-3.0,0.0,0.0,3.0,0.0,0.0,-3.0,1.0,0.0,3.0,1.0,0.0,-3.0,2.0,0.0,3.0,2.0,0.0,-3.0,3.0,0.0,3.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( Mouse ).y ) * ( 0.0 ),( ( ( 0.5 ) * ( ( Mouse ).x ) ) * ( 0.0 ) ) * ( 0.0 ),( ( Mouse ).y ) * ( 0.0 ),1.0 ) ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,-3.0,-3.0,0.0,3.0,-3.0,0.0,-3.0,-2.0,0.0,3.0,-2.0,0.0,-3.0,-1.0,0.0,3.0,-1.0,0.0,-3.0,0.0,0.0,3.0,0.0,0.0,-3.0,1.0,0.0,3.0,1.0,0.0,-3.0,2.0,0.0,3.0,2.0,0.0,-3.0,3.0,0.0,3.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/Hyperboloid.out b/testdata/accept/Hyperboloid.out index 9a748a1c..f7774d7b 100644 --- a/testdata/accept/Hyperboloid.out +++ b/testdata/accept/Hyperboloid.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("q1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( 2.0 ) * ( ( Mouse ).y ) ) * ( sin ( ( 0.0 ) + ( ( ( Mouse ).x ) * ( 0.0 ) ) ) ),0.0,( ( 2.0 ) * ( ( Mouse ).y ) ) * ( cos ( ( 0.0 ) + ( ( ( Mouse ).x ) * ( 0.0 ) ) ) ),1.0 ) ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,-3.0,0.0,-5.0,3.0,0.0,-4.0,-3.0,0.0,-4.0,3.0,0.0,-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,4.0,-3.0,0.0,4.0,3.0,0.0,5.0,-3.0,0.0,5.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( 2.0 ) * ( ( Mouse ).y ) ) * ( sin ( ( 0.0 ) + ( ( ( Mouse ).x ) * ( 0.0 ) ) ) ),0.0,( ( 2.0 ) * ( ( Mouse ).y ) ) * ( cos ( ( 0.0 ) + ( ( ( Mouse ).x ) * ( 0.0 ) ) ) ),1.0 ) ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,-3.0,0.0,-5.0,3.0,0.0,-4.0,-3.0,0.0,-4.0,3.0,0.0,-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,4.0,-3.0,0.0,4.0,3.0,0.0,5.0,-3.0,0.0,5.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/NewStyle.out b/testdata/accept/NewStyle.out index 030bcd1c..0d13a413 100644 --- a/testdata/accept/NewStyle.out +++ b/testdata/accept/NewStyle.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = q1;\ngl_Position = ( ( MVP ) * ( q1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( ( MVP ) * ( o1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/Prelude.out b/testdata/accept/Prelude.out index ad0cd808..5931e398 100644 --- a/testdata/accept/Prelude.out +++ b/testdata/accept/Prelude.out | |||
@@ -251,7 +251,8 @@ tooltips: | |||
251 | ./testdata/accept/Prelude.lc 114:1-114:5 'Bool | 251 | ./testdata/accept/Prelude.lc 114:1-114:5 'Bool |
252 | ./testdata/accept/Prelude.lc 114:1-114:5 V2 | 252 | ./testdata/accept/Prelude.lc 114:1-114:5 V2 |
253 | ./testdata/accept/Prelude.lc 114:6-114:9 'Bool -> 'Bool->'Bool | 253 | ./testdata/accept/Prelude.lc 114:6-114:9 'Bool -> 'Bool->'Bool |
254 | ./testdata/accept/Prelude.lc 124:10-124:12 V0 | 254 | ./testdata/accept/Prelude.lc 124:10-124:19 V0->Type |
255 | ./testdata/accept/Prelude.lc 124:10-124:19 Type | ||
255 | ./testdata/accept/Prelude.lc 124:10-124:12 Type | 256 | ./testdata/accept/Prelude.lc 124:10-124:12 Type |
256 | ./testdata/accept/Prelude.lc 124:13-124:19 Type | 257 | ./testdata/accept/Prelude.lc 124:13-124:19 Type |
257 | ./testdata/accept/Prelude.lc 124:13-124:19 V1 | 258 | ./testdata/accept/Prelude.lc 124:13-124:19 V1 |
diff --git a/testdata/accept/PrimReduce.out b/testdata/accept/PrimReduce.out index 919fd5e4..bec55c9f 100644 --- a/testdata/accept/PrimReduce.out +++ b/testdata/accept/PrimReduce.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 o1 ;\nvoid main() {\ngl_Position = ( ( mat4 ( vec4 ( cos ( 3.0 ),( 0.0 ) - ( sin ( 3.0 ) ),0.0,0.0 ),vec4 ( sin ( 3.0 ),cos ( 3.0 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o1 ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m1 ;\nvoid main() {\ngl_Position = ( ( mat4 ( vec4 ( cos ( 3.0 ),( 0.0 ) - ( sin ( 3.0 ) ),0.0,0.0 ),vec4 ( sin ( 3.0 ),cos ( 3.0 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( m1 ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/Spiral.out b/testdata/accept/Spiral.out index 13b09c6d..c408c586 100644 --- a/testdata/accept/Spiral.out +++ b/testdata/accept/Spiral.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("q1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( 0.0 ) ) ) * ( sin ( 0.0 ) ),( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( 0.0 ) ) ) * ( cos ( 0.0 ) ),( ( Mouse ).y ) * ( 0.0 ),1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,0.0,0.0,-4.0,0.0,0.0,-4.0,0.0,0.0,-3.0,0.0,0.0,-3.0,0.0,0.0,-2.0,0.0,0.0,-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0,3.0,0.0,0.0,4.0,0.0,0.0,4.0,0.0,0.0,5.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( 0.0 ) ) ) * ( sin ( 0.0 ) ),( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( 0.0 ) ) ) * ( cos ( 0.0 ) ),( ( Mouse ).y ) * ( 0.0 ),1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,0.0,0.0,-4.0,0.0,0.0,-4.0,0.0,0.0,-3.0,0.0,0.0,-3.0,0.0,0.0,-2.0,0.0,0.0,-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0,3.0,0.0,0.0,4.0,0.0,0.0,4.0,0.0,0.0,5.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/example06.out b/testdata/accept/example06.out index 4e7cd170..fdf667ee 100644 --- a/testdata/accept/example06.out +++ b/testdata/accept/example06.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = q1;\ngl_Position = ( ( MVP ) * ( q1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( ( MVP ) * ( o1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/example07.out b/testdata/accept/example07.out index 79966e2c..216ce6ce 100644 --- a/testdata/accept/example07.out +++ b/testdata/accept/example07.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("b2",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 b2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = b2;\ngl_Position = ( ( MVP ) * ( b2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).x ) < ( 0.5 ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("z1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 z1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = z1;\ngl_Position = ( ( MVP ) * ( z1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).x ) < ( 0.5 ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/example08.out b/testdata/accept/example08.out index 64626645..86400ee3 100644 --- a/testdata/accept/example08.out +++ b/testdata/accept/example08.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("q1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = q1;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 2.0 ) ),sin ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 2.0 ) ) ),cos ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 1.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( q1 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("j7",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 j7 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = j7;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 1.0 ) ),sin ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 1.0 ) ) ),cos ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( j7 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("c13",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 c13 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = c13;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( c13 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("v18",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 v18 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v18;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -1.0 ) ),sin ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -1.0 ) ) ),cos ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( v18 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("o24",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 o24 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o24;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.75 ) ),sin ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.75 ) ) ),cos ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.375 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o24 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("h30",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 h30 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = h30;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.3 ) ),sin ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.3 ) ) ),cos ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.15 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( h30 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("a36",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 a36 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = a36;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.5 ) ),sin ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.5 ) ) ),cos ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( a36 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("t41",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 t41 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = t41;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( t41 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("m47",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 m47 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = m47;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -0.5 ) ),sin ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -0.5 ) ) ),cos ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( m47 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 8,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 7,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 6,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 5,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 4,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 3,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 2.0 ) ),sin ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 2.0 ) ) ),cos ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 1.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o1 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("f7",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 f7 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = f7;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 1.0 ) ),sin ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 1.0 ) ) ),cos ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( f7 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("w12",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 w12 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = w12;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( w12 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("n18",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 n18 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = n18;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -1.0 ) ),sin ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -1.0 ) ) ),cos ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( n18 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("e24",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 e24 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = e24;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.75 ) ),sin ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.75 ) ) ),cos ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.375 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( e24 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("v29",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 v29 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v29;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.3 ) ),sin ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.3 ) ) ),cos ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.15 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( v29 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("m35",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 m35 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = m35;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.5 ) ),sin ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.5 ) ) ),cos ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( m35 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("d41",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 d41 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = d41;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( d41 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("u46",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 u46 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = u46;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -0.5 ) ),sin ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -0.5 ) ) ),cos ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( u46 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 8,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 7,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 6,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 5,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 4,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 3,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/fetcharrays01.out b/testdata/accept/fetcharrays01.out index fd6da633..a9094b36 100644 --- a/testdata/accept/fetcharrays01.out +++ b/testdata/accept/fetcharrays01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a2",Parameter {name = "attribute_0", ty = V3F}),("b2",Parameter {name = "attribute_1", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 a2 ;\nin vec3 b2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0]),("attribute_1",VFloatArray [0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V3F)], streamPrimitive = Triangles, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "attribute_0", ty = V3F}),("z1",Parameter {name = "attribute_1", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 y1 ;\nin vec3 z1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0]),("attribute_1",VFloatArray [0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V3F)], streamPrimitive = Triangles, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/fragment01.out b/testdata/accept/fragment01.out index 497e58ce..77eef493 100644 --- a/testdata/accept/fragment01.out +++ b/testdata/accept/fragment01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("o1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 o1 ;\nvoid main() {\ngl_Position = o1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("m1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m1 ;\nvoid main() {\ngl_Position = m1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/fragment03swizzling.out b/testdata/accept/fragment03swizzling.out index 408b56aa..77fe9352 100644 --- a/testdata/accept/fragment03swizzling.out +++ b/testdata/accept/fragment03swizzling.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("x1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 x1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = x1;\ngl_Position = x1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).xxxw ) + ( ( v0 ).yyyw );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("v1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 v1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v1;\ngl_Position = v1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).xxxw ) + ( ( v0 ).yyyw );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/fragment04ifthenelse.out b/testdata/accept/fragment04ifthenelse.out index 131c814f..feaf1478 100644 --- a/testdata/accept/fragment04ifthenelse.out +++ b/testdata/accept/fragment04ifthenelse.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("x1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 x1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = x1;\ngl_Position = x1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? v0 : vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("v1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 v1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v1;\ngl_Position = v1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? v0 : vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/fragment07let.out b/testdata/accept/fragment07let.out index ead68287..88146662 100644 --- a/testdata/accept/fragment07let.out +++ b/testdata/accept/fragment07let.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("u1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 u1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = u1;\ngl_Position = u1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( v0 ) );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("s1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 s1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = s1;\ngl_Position = s1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( v0 ) );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/gfx02.out b/testdata/accept/gfx02.out index 2bebe8a7..ffb555de 100644 --- a/testdata/accept/gfx02.out +++ b/testdata/accept/gfx02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = o1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = m1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/gfx03.out b/testdata/accept/gfx03.out index 4ba86d29..ea9b0bd2 100644 --- a/testdata/accept/gfx03.out +++ b/testdata/accept/gfx03.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("q1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 q1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("o3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 o3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x5",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x5 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = x5;\ngl_Position = ( MVP ) * ( x5 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [2]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("o1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 o1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("k3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 k3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r5",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 r5 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = r5;\ngl_Position = ( MVP ) * ( r5 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [2]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/gfx04.out b/testdata/accept/gfx04.out index 9b18c601..ce7a54bf 100644 --- a/testdata/accept/gfx04.out +++ b/testdata/accept/gfx04.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("k2",Parameter {name = "position", ty = V3F}),("l2",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 k2 ;\nin vec3 l2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("normal",V3F),("position",V3F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i2",Parameter {name = "position", ty = V3F}),("j2",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 i2 ;\nin vec3 j2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("normal",V3F),("position",V3F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/gfx05.out b/testdata/accept/gfx05.out index 0cd64abe..f2bbf4d6 100644 --- a/testdata/accept/gfx05.out +++ b/testdata/accept/gfx05.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("q1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 q1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("o3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 o3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("x6",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 x6 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x8",Parameter {name = "position4", ty = V4F}),("y8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("h5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x8 ;\nin vec2 y8 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = y8;\ngl_Position = ( MVP ) * ( x8 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D h5 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( h5,( v0 ).xy ) ) * ( 0.7 );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [3]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.3 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 3,SetTexture 0 1,SetSamplerUniform "h5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("o1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 o1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("k3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 k3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("p6",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 p6 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("p8",Parameter {name = "position4", ty = V4F}),("q8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("b5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 p8 ;\nin vec2 q8 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = q8;\ngl_Position = ( MVP ) * ( p8 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D b5 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( b5,( v0 ).xy ) ) * ( 0.7 );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [3]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.3 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 3,SetTexture 0 1,SetSamplerUniform "b5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/heartbeat01.out b/testdata/accept/heartbeat01.out index 404bfb1e..320b21e2 100644 --- a/testdata/accept/heartbeat01.out +++ b/testdata/accept/heartbeat01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("y12",Parameter {name = "position4", ty = V4F}),("z12",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 y12 ;\nin vec2 z12 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = z12;\ngl_Position = ( y12 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 15.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-3 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,0.5,1.0 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) - ( ( 5.0 ) * ( Time ) ) ) ) ) ) < ( ( 2.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 3.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 1.0,1.0,1.0,1.0 ) : vec4 ( 1.0,1.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y14",Parameter {name = "position4", ty = V4F}),("z14",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("z0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y14 ;\nin vec2 z14 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = z14;\ngl_Position = ( ( MVP ) * ( y14 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D z0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( z0,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 1,SetSamplerUniform "z0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("u12",Parameter {name = "position4", ty = V4F}),("v12",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 u12 ;\nin vec2 v12 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v12;\ngl_Position = ( u12 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 15.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-3 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,0.5,1.0 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) - ( ( 5.0 ) * ( Time ) ) ) ) ) ) < ( ( 2.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 3.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 1.0,1.0,1.0,1.0 ) : vec4 ( 1.0,1.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("u14",Parameter {name = "position4", ty = V4F}),("v14",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 u14 ;\nin vec2 v14 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v14;\ngl_Position = ( ( MVP ) * ( u14 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D x0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( x0,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 1,SetSamplerUniform "x0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/helloWorld.lc b/testdata/accept/helloWorld.lc index f70fb29d..f1589c12 100644 --- a/testdata/accept/helloWorld.lc +++ b/testdata/accept/helloWorld.lc | |||
@@ -9,7 +9,7 @@ makeFrame (projmat :: Mat 4 4 Float) | |||
9 | & rasterizePrimitives (TriangleCtx CullNone PolygonFill NoOffset LastVertex) Smooth | 9 | & rasterizePrimitives (TriangleCtx CullNone PolygonFill NoOffset LastVertex) Smooth |
10 | & filterFragments (\_ -> True) | 10 | & filterFragments (\_ -> True) |
11 | & mapFragments (\x -> x) | 11 | & mapFragments (\x -> x) |
12 | & accumulateWith (DepthOp Less True, ColorOp NoBlending (V4 True True True True)) | 12 | & accumulateWith (defaultFragOp @(Depth Float) @_{-DepthOp Less True-}, ColorOp NoBlending (V4 True True True True)) |
13 | 13 | ||
14 | main = renderFrame $ | 14 | main = renderFrame $ |
15 | makeFrame (Uniform "MVP") | 15 | makeFrame (Uniform "MVP") |
diff --git a/testdata/accept/helloWorld.out b/testdata/accept/helloWorld.out index 534989f4..bdc2bd74 100644 --- a/testdata/accept/helloWorld.out +++ b/testdata/accept/helloWorld.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 w1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = w1;\ngl_Position = ( ( MVP ) * ( w1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("u1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 u1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = u1;\ngl_Position = ( ( MVP ) * ( u1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/line01.out b/testdata/accept/line01.out index e16b7f97..9f378460 100644 --- a/testdata/accept/line01.out +++ b/testdata/accept/line01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 q1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/point01.out b/testdata/accept/point01.out index 81c55bc7..53e3962a 100644 --- a/testdata/accept/point01.out +++ b/testdata/accept/point01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a2",Parameter {name = "attribute_0", ty = V3F}),("b2",Parameter {name = "attribute_1", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 a2 ;\nin vec4 b2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = b2;\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 30.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0]),("attribute_1",VFloatArray [1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V4F)], streamPrimitive = Points, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (PointCtx ProgramPointSize 1.0 LowerLeft),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "attribute_0", ty = V3F}),("z1",Parameter {name = "attribute_1", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 y1 ;\nin vec4 z1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = z1;\ngl_Position = ( ( MVP ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 30.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0]),("attribute_1",VFloatArray [1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V4F)], streamPrimitive = Points, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (PointCtx ProgramPointSize 1.0 LowerLeft),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/record01.out b/testdata/accept/record01.out index f1ef2374..3a412ffe 100644 --- a/testdata/accept/record01.out +++ b/testdata/accept/record01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a2",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 a2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = a2;\ngl_Position = ( MVP ) * ( a2 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = y1;\ngl_Position = ( MVP ) * ( y1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/recursivetexture02.out b/testdata/accept/recursivetexture02.out index 0354f8a1..0b19aebc 100644 --- a/testdata/accept/recursivetexture02.out +++ b/testdata/accept/recursivetexture02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("e7",Parameter {name = "position4", ty = V4F}),("f7",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 e7 ;\nin vec2 f7 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = f7;\ngl_Position = ( ( MVP ) * ( e7 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ).xyxy;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i9",Parameter {name = "position4", ty = V4F}),("j9",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i9 ;\nin vec2 j9 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = j9;\ngl_Position = ( ( MVP ) * ( i9 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a5 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( a5,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m11",Parameter {name = "position4", ty = V4F}),("n11",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a4",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m11 ;\nin vec2 n11 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n11;\ngl_Position = ( ( MVP ) * ( m11 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a4 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( a4,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q13",Parameter {name = "position4", ty = V4F}),("r13",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q13 ;\nin vec2 r13 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = r13;\ngl_Position = ( ( MVP ) * ( q13 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a3 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( a3,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("u15",Parameter {name = "position4", ty = V4F}),("v15",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 u15 ;\nin vec2 v15 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v15;\ngl_Position = ( ( MVP ) * ( u15 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a2 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( a2,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y17",Parameter {name = "position4", ty = V4F}),("z17",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y17 ;\nin vec2 z17 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = z17;\ngl_Position = ( ( MVP ) * ( y17 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a1 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( a1,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5]}], streams = [], commands = [SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 9,SetSamplerUniform "a5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 7,SetSamplerUniform "a4" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 5,SetSamplerUniform "a3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 3,SetSamplerUniform "a2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 1,SetSamplerUniform "a1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("s6",Parameter {name = "position4", ty = V4F}),("t6",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 s6 ;\nin vec2 t6 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = t6;\ngl_Position = ( ( MVP ) * ( s6 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ).xyxy;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w8",Parameter {name = "position4", ty = V4F}),("x8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q4",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 w8 ;\nin vec2 x8 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = x8;\ngl_Position = ( ( MVP ) * ( w8 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q4 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( q4,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a11",Parameter {name = "position4", ty = V4F}),("b11",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 a11 ;\nin vec2 b11 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = b11;\ngl_Position = ( ( MVP ) * ( a11 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s3 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( s3,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("e13",Parameter {name = "position4", ty = V4F}),("f13",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 e13 ;\nin vec2 f13 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = f13;\ngl_Position = ( ( MVP ) * ( e13 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u2 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( u2,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i15",Parameter {name = "position4", ty = V4F}),("j15",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i15 ;\nin vec2 j15 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = j15;\ngl_Position = ( ( MVP ) * ( i15 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w1 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( w1,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m17",Parameter {name = "position4", ty = V4F}),("n17",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m17 ;\nin vec2 n17 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n17;\ngl_Position = ( ( MVP ) * ( m17 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D y0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( y0,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5]}], streams = [], commands = [SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 9,SetSamplerUniform "q4" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 7,SetSamplerUniform "s3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 5,SetSamplerUniform "u2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 3,SetSamplerUniform "w1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 1,SetSamplerUniform "y0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/reduce01.out b/testdata/accept/reduce01.out index 2bebe8a7..ffb555de 100644 --- a/testdata/accept/reduce01.out +++ b/testdata/accept/reduce01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = o1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = m1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/reduce05.out b/testdata/accept/reduce05.out index e2650c28..869abcf2 100644 --- a/testdata/accept/reduce05.out +++ b/testdata/accept/reduce05.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("p1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 p1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = p1;\ngl_Position = p1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [], programStreams = fromList [("i3",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 i3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = i3;\ngl_Position = i3;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,1.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 False True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True False False False))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("n1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 n1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = n1;\ngl_Position = n1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [], programStreams = fromList [("e3",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 e3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = e3;\ngl_Position = e3;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,1.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 False True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True False False False))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/simple02.out b/testdata/accept/simple02.out index f1ef2374..3a412ffe 100644 --- a/testdata/accept/simple02.out +++ b/testdata/accept/simple02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a2",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 a2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = a2;\ngl_Position = ( MVP ) * ( a2 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = y1;\ngl_Position = ( MVP ) * ( y1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/simple03.out b/testdata/accept/simple03.out index 3977a999..f48f39a9 100644 --- a/testdata/accept/simple03.out +++ b/testdata/accept/simple03.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("b2",Parameter {name = "position", ty = V3F}),("c2",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 b2 ;\nin vec3 c2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,1.0,1.0,1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("o4",Parameter {name = "position", ty = V3F}),("p4",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 o4 ;\nin vec3 p4 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V3F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) (Offset (-1.0) 0.0) FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("a2",Parameter {name = "color", ty = V3F}),("z1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 z1 ;\nin vec3 a2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,1.0,1.0,1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("k4",Parameter {name = "position", ty = V3F}),("l4",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 k4 ;\nin vec3 l4 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( 0.0,0.0,0.0,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( 0.0,0.0,0.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V3F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) (Offset (-1.0) 0.0) FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/texture01.out b/testdata/accept/texture01.out index 1fb8fb0b..bf4e3a19 100644 --- a/testdata/accept/texture01.out +++ b/testdata/accept/texture01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], programStreams = fromList [("b2",Parameter {name = "position4", ty = V4F}),("c2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 b2 ;\nin vec2 c2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = c2;\ngl_Position = ( ( MVP ) * ( b2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D diffuse ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetSamplerUniform "diffuse" 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], programStreams = fromList [("a2",Parameter {name = "vertexUV", ty = V2F}),("z1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 z1 ;\nin vec2 a2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = a2;\ngl_Position = ( ( MVP ) * ( z1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D diffuse ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetSamplerUniform "diffuse" 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/texture02.out b/testdata/accept/texture02.out index c9f30f35..8c796b28 100644 --- a/testdata/accept/texture02.out +++ b/testdata/accept/texture02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("p2",Parameter {name = "position4", ty = V4F}),("q2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("z0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 p2 ;\nin vec2 q2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = q2;\ngl_Position = ( ( MVP ) * ( p2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D z0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( z0,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 1,SetSamplerUniform "z0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("n2",Parameter {name = "position4", ty = V4F}),("o2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 n2 ;\nin vec2 o2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = o2;\ngl_Position = ( ( MVP ) * ( n2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D x0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( x0,v0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 1,SetSamplerUniform "x0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/typeclass.out b/testdata/accept/typeclass.out index a7b5cd32..81a36417 100644 --- a/testdata/accept/typeclass.out +++ b/testdata/accept/typeclass.out | |||
@@ -27,7 +27,8 @@ tooltips: | |||
27 | ./testdata/accept/typeclass.lc 19:7-19:9 {a} -> a->a -> a | 27 | ./testdata/accept/typeclass.lc 19:7-19:9 {a} -> a->a -> a |
28 | ./testdata/accept/typeclass.lc 24:10-28:23 V0->V1 | 28 | ./testdata/accept/typeclass.lc 24:10-28:23 V0->V1 |
29 | ./testdata/accept/typeclass.lc 24:10-28:23 V1 | 29 | ./testdata/accept/typeclass.lc 24:10-28:23 V1 |
30 | ./testdata/accept/typeclass.lc 24:10-24:12 V0 | 30 | ./testdata/accept/typeclass.lc 24:10-28:23 V0->Type |
31 | ./testdata/accept/typeclass.lc 24:10-28:23 Type | ||
31 | ./testdata/accept/typeclass.lc 24:10-24:12 Type | 32 | ./testdata/accept/typeclass.lc 24:10-24:12 Type |
32 | ./testdata/accept/typeclass.lc 24:13-24:17 Type | 33 | ./testdata/accept/typeclass.lc 24:13-24:17 Type |
33 | ./testdata/accept/typeclass.lc 24:13-24:17 V1 | 34 | ./testdata/accept/typeclass.lc 24:13-24:17 V1 |
@@ -35,7 +36,7 @@ tooltips: | |||
35 | ./testdata/accept/typeclass.lc 28:10-28:20 Type->Type | 36 | ./testdata/accept/typeclass.lc 28:10-28:20 Type->Type |
36 | ./testdata/accept/typeclass.lc 28:10-28:20 Type | 37 | ./testdata/accept/typeclass.lc 28:10-28:20 Type |
37 | ./testdata/accept/typeclass.lc 28:10-28:14 Type | 38 | ./testdata/accept/typeclass.lc 28:10-28:14 Type |
38 | ./testdata/accept/typeclass.lc 28:10-28:14 V3 | 39 | ./testdata/accept/typeclass.lc 28:10-28:14 Type->Type |
39 | ./testdata/accept/typeclass.lc 28:18-28:20 Type | 40 | ./testdata/accept/typeclass.lc 28:18-28:20 Type |
40 | ./testdata/accept/typeclass.lc 28:22-28:23 Type | 41 | ./testdata/accept/typeclass.lc 28:22-28:23 Type |
41 | ./testdata/accept/typeclass.lc 19:7-19:9 Type->Type | 42 | ./testdata/accept/typeclass.lc 19:7-19:9 Type->Type |
diff --git a/testdata/accept/uniformparam01.out b/testdata/accept/uniformparam01.out index 2ae39310..2d0a5893 100644 --- a/testdata/accept/uniformparam01.out +++ b/testdata/accept/uniformparam01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( MVP ) * ( o1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = ( MVP ) * ( m1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/uniformparam02.out b/testdata/accept/uniformparam02.out index aeb0f8f8..ed282f84 100644 --- a/testdata/accept/uniformparam02.out +++ b/testdata/accept/uniformparam02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("g1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 g1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = g1;\ngl_Position = g1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nvoid main() {\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("e1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 e1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = e1;\ngl_Position = e1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nvoid main() {\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/accept/uniformparam03.out b/testdata/accept/uniformparam03.out index 2ae39310..2d0a5893 100644 --- a/testdata/accept/uniformparam03.out +++ b/testdata/accept/uniformparam03.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( MVP ) * ( o1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = ( MVP ) * ( m1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||