diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-29 15:27:53 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-01-29 15:27:53 +0100 |
commit | fe9a7c6d0af59227ff34b098f2a5ba1359790ae8 (patch) | |
tree | 3bb7170620c4b914d8bc39127af1e4fb4627fab3 /ddl/Definitions.hs | |
parent | 0c885c5c6bfb69c543635fd08d697ce44f24642d (diff) |
add Schema to IR module, also use namespace
Diffstat (limited to 'ddl/Definitions.hs')
-rw-r--r-- | ddl/Definitions.hs | 97 |
1 files changed, 93 insertions, 4 deletions
diff --git a/ddl/Definitions.hs b/ddl/Definitions.hs index 53930ef..6bac3d6 100644 --- a/ddl/Definitions.hs +++ b/ddl/Definitions.hs | |||
@@ -471,9 +471,98 @@ typeInfo = do | |||
471 | const_ "MyLeft" ["TypeInfo", Array "TypeInfo"] | 471 | const_ "MyLeft" ["TypeInfo", Array "TypeInfo"] |
472 | const_ "MyRight" [String, "Pipeline", Array "TypeInfo"] | 472 | const_ "MyRight" [String, "Pipeline", Array "TypeInfo"] |
473 | 473 | ||
474 | pipelineSchema = do | ||
475 | data_ "StreamType" $ do | ||
476 | enum_ "Attribute_Word" | ||
477 | enum_ "Attribute_V2U" | ||
478 | enum_ "Attribute_V3U" | ||
479 | enum_ "Attribute_V4U" | ||
480 | enum_ "Attribute_Int" | ||
481 | enum_ "Attribute_V2I" | ||
482 | enum_ "Attribute_V3I" | ||
483 | enum_ "Attribute_V4I" | ||
484 | enum_ "Attribute_Float" | ||
485 | enum_ "Attribute_V2F" | ||
486 | enum_ "Attribute_V3F" | ||
487 | enum_ "Attribute_V4F" | ||
488 | enum_ "Attribute_M22F" | ||
489 | enum_ "Attribute_M23F" | ||
490 | enum_ "Attribute_M24F" | ||
491 | enum_ "Attribute_M32F" | ||
492 | enum_ "Attribute_M33F" | ||
493 | enum_ "Attribute_M34F" | ||
494 | enum_ "Attribute_M42F" | ||
495 | enum_ "Attribute_M43F" | ||
496 | enum_ "Attribute_M44F" | ||
497 | |||
498 | data_ "ObjectArraySchema" $ do | ||
499 | constR_ "ObjectArraySchema" | ||
500 | [ "primitive" #:: "FetchPrimitive" | ||
501 | , "attributes" #:: Map String "StreamType" | ||
502 | ] | ||
503 | |||
504 | data_ "PipelineSchema" $ do | ||
505 | constR_ "PipelineSchema" | ||
506 | [ "objectArrays" #:: Map String "ObjectArraySchema" | ||
507 | , "uniforms" #:: Map String "InputType" | ||
508 | ] | ||
509 | |||
510 | testData = do | ||
511 | -- client info | ||
512 | data_ "ClientInfo" $ do | ||
513 | constR_ "ClientInfo" | ||
514 | [ "clientName" #:: String | ||
515 | , "clientBackend" #:: "Backend" | ||
516 | ] | ||
517 | |||
518 | -- test scene description | ||
519 | data_ "Frame" $ do | ||
520 | constR_ "Frame" | ||
521 | [ "renderCount" #:: Int | ||
522 | , "frameUniforms" #:: Map String "Value" | ||
523 | , "frameTextures" #:: Map String Int | ||
524 | ] | ||
525 | |||
526 | data_ "Scene" $ do | ||
527 | constR_ "Scene" | ||
528 | [ "objectArrays" #:: Map String (Array Int) | ||
529 | , "renderTargetWidth" #:: Int | ||
530 | , "renderTargetHeight" #:: Int | ||
531 | , "frames" #:: Array "Frame" | ||
532 | ] | ||
533 | |||
534 | data_ "RenderJob" $ do | ||
535 | constR_ "RenderJob" | ||
536 | [ "meshes" #:: Array "Mesh" | ||
537 | , "textures" #:: Array String -- png texture | ||
538 | , "schema" #:: "PipelineSchema" | ||
539 | , "scenes" #:: Array "Scene" | ||
540 | , "pipelines" #:: Array "Pipeline" | ||
541 | ] | ||
542 | |||
543 | -- test result | ||
544 | data_ "FrameResult" $ do | ||
545 | constR_ "FrameResult" | ||
546 | [ "frRenderTimes" #:: Array Float | ||
547 | , "frImageWidth" #:: Int | ||
548 | , "frImageHeight" #:: Int | ||
549 | ] | ||
550 | |||
551 | data_ "RenderJobResult" $ do | ||
552 | const_ "RenderJobResult" ["FrameResult"] | ||
553 | const_ "RenderJobError" [String] | ||
554 | |||
474 | modules = do | 555 | modules = do |
475 | module_ "IR" ir | 556 | module_ "LambdaCube.IR" ir |
476 | module_ "Mesh" mesh | 557 | module_ "LambdaCube.PipelineSchema" $ do |
477 | module_ "TypeInfo" $ do | 558 | import_ ["LambdaCube.IR"] |
478 | import_ ["IR"] | 559 | pipelineSchema |
560 | module_ "LambdaCube.Mesh" mesh | ||
561 | module_ "LambdaCube.TypeInfo" $ do | ||
562 | import_ ["LambdaCube.IR"] | ||
479 | typeInfo | 563 | typeInfo |
564 | module_ "TestData" $ do | ||
565 | import_ ["LambdaCube.IR"] | ||
566 | import_ ["LambdaCube.Mesh"] | ||
567 | import_ ["LambdaCube.PipelineSchema"] | ||
568 | testData | ||