summaryrefslogtreecommitdiff
path: root/ddl/Definitions.hs
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-01-29 15:27:53 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-01-29 15:27:53 +0100
commitfe9a7c6d0af59227ff34b098f2a5ba1359790ae8 (patch)
tree3bb7170620c4b914d8bc39127af1e4fb4627fab3 /ddl/Definitions.hs
parent0c885c5c6bfb69c543635fd08d697ce44f24642d (diff)
add Schema to IR module, also use namespace
Diffstat (limited to 'ddl/Definitions.hs')
-rw-r--r--ddl/Definitions.hs97
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
474pipelineSchema = 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
510testData = 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
474modules = do 555modules = 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