HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
This commit is contained in:
parent
18adbdbbb8
commit
02467d8d94
171 changed files with 37604 additions and 32679 deletions
|
|
@ -71,7 +71,7 @@ ERROR: node is still EOpNull!
|
|||
0:33 Function Definition: fn3(i1; (temp void)
|
||||
0:33 Function Parameters:
|
||||
0:33 'p0' (in int)
|
||||
0:37 Function Definition: main( (temp 4-component vector of int)
|
||||
0:37 Function Definition: @main( (temp 4-component vector of int)
|
||||
0:37 Function Parameters:
|
||||
0:? Sequence
|
||||
0:38 Sequence
|
||||
|
|
@ -80,114 +80,117 @@ ERROR: node is still EOpNull!
|
|||
0:38 Constant:
|
||||
0:38 30 (const int)
|
||||
0:38 31 (const int)
|
||||
0:49 Sequence
|
||||
0:49 move second child to first child (temp 4-component vector of int)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:48 add (temp 4-component vector of int)
|
||||
0:47 add (temp 4-component vector of int)
|
||||
0:45 add (temp 4-component vector of int)
|
||||
0:44 add (temp 4-component vector of int)
|
||||
0:43 add (temp 4-component vector of int)
|
||||
0:42 add (temp 4-component vector of int)
|
||||
0:41 add (temp 4-component vector of int)
|
||||
0:40 add (temp 4-component vector of int)
|
||||
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
|
||||
0:40 Constant:
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:49 Branch: Return with expression
|
||||
0:48 add (temp 4-component vector of int)
|
||||
0:47 add (temp 4-component vector of int)
|
||||
0:45 add (temp 4-component vector of int)
|
||||
0:44 add (temp 4-component vector of int)
|
||||
0:43 add (temp 4-component vector of int)
|
||||
0:42 add (temp 4-component vector of int)
|
||||
0:41 add (temp 4-component vector of int)
|
||||
0:40 add (temp 4-component vector of int)
|
||||
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
|
||||
0:40 Constant:
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:41 Constant:
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:41 Constant:
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:41 Constant:
|
||||
0:41 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 2 (const int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Constant:
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'myarray' (temp 2-element array of int)
|
||||
0:41 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 2 (const int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Constant:
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'myarray' (temp 2-element array of int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:43 Constant:
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:43 Constant:
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:43 Constant:
|
||||
0:43 0 (const uint)
|
||||
0:43 'myarray' (temp 2-element array of int)
|
||||
0:43 Constant:
|
||||
0:43 99 (const int)
|
||||
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 Constant:
|
||||
0:44 false (const bool)
|
||||
0:9 Constant:
|
||||
0:9 false (const bool)
|
||||
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:45 Constant:
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 Constant:
|
||||
0:45 false (const bool)
|
||||
0:45 Constant:
|
||||
0:45 true (const bool)
|
||||
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
|
||||
0:47 Constant:
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:48 Constant:
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 Constant:
|
||||
0:48 11 (const int)
|
||||
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:49 Constant:
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 Constant:
|
||||
0:49 12 (const int)
|
||||
0:49 Branch: Return
|
||||
0:43 0 (const uint)
|
||||
0:43 'myarray' (temp 2-element array of int)
|
||||
0:43 Constant:
|
||||
0:43 99 (const int)
|
||||
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 Constant:
|
||||
0:44 false (const bool)
|
||||
0:9 Constant:
|
||||
0:9 false (const bool)
|
||||
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:45 Constant:
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 Constant:
|
||||
0:45 false (const bool)
|
||||
0:45 Constant:
|
||||
0:45 true (const bool)
|
||||
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
|
||||
0:47 Constant:
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:48 Constant:
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 Constant:
|
||||
0:48 11 (const int)
|
||||
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:49 Constant:
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 Constant:
|
||||
0:49 12 (const int)
|
||||
0:37 Function Definition: main( (temp void)
|
||||
0:37 Function Parameters:
|
||||
0:? Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of int)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:37 Function Call: @main( (temp 4-component vector of int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:? 'cia' (const int)
|
||||
0:? -4 (const int)
|
||||
0:? 'cib' (const int)
|
||||
0:? -42 (const int)
|
||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
|
@ -258,7 +261,7 @@ ERROR: node is still EOpNull!
|
|||
0:33 Function Definition: fn3(i1; (temp void)
|
||||
0:33 Function Parameters:
|
||||
0:33 'p0' (in int)
|
||||
0:37 Function Definition: main( (temp 4-component vector of int)
|
||||
0:37 Function Definition: @main( (temp 4-component vector of int)
|
||||
0:37 Function Parameters:
|
||||
0:? Sequence
|
||||
0:38 Sequence
|
||||
|
|
@ -267,113 +270,116 @@ ERROR: node is still EOpNull!
|
|||
0:38 Constant:
|
||||
0:38 30 (const int)
|
||||
0:38 31 (const int)
|
||||
0:49 Sequence
|
||||
0:49 move second child to first child (temp 4-component vector of int)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:48 add (temp 4-component vector of int)
|
||||
0:47 add (temp 4-component vector of int)
|
||||
0:45 add (temp 4-component vector of int)
|
||||
0:44 add (temp 4-component vector of int)
|
||||
0:43 add (temp 4-component vector of int)
|
||||
0:42 add (temp 4-component vector of int)
|
||||
0:41 add (temp 4-component vector of int)
|
||||
0:40 add (temp 4-component vector of int)
|
||||
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
|
||||
0:40 Constant:
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:49 Branch: Return with expression
|
||||
0:48 add (temp 4-component vector of int)
|
||||
0:47 add (temp 4-component vector of int)
|
||||
0:45 add (temp 4-component vector of int)
|
||||
0:44 add (temp 4-component vector of int)
|
||||
0:43 add (temp 4-component vector of int)
|
||||
0:42 add (temp 4-component vector of int)
|
||||
0:41 add (temp 4-component vector of int)
|
||||
0:40 add (temp 4-component vector of int)
|
||||
0:40 Function Call: fn1(vi4; (temp 4-component vector of int)
|
||||
0:40 Constant:
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:40 100 (const int)
|
||||
0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:41 Constant:
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:41 Constant:
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 101 (const int)
|
||||
0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:41 Constant:
|
||||
0:41 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 2 (const int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Constant:
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'myarray' (temp 2-element array of int)
|
||||
0:41 0 (const uint)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 2 (const int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:42 Constant:
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 102 (const int)
|
||||
0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'myarray' (temp 2-element array of int)
|
||||
0:16 Constant:
|
||||
0:16 42 (const int)
|
||||
0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int)
|
||||
0:43 Constant:
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:43 Constant:
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 103 (const int)
|
||||
0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int)
|
||||
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:43 Constant:
|
||||
0:43 0 (const uint)
|
||||
0:43 'myarray' (temp 2-element array of int)
|
||||
0:43 Constant:
|
||||
0:43 99 (const int)
|
||||
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 Constant:
|
||||
0:44 false (const bool)
|
||||
0:9 Constant:
|
||||
0:9 false (const bool)
|
||||
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:45 Constant:
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 Constant:
|
||||
0:45 false (const bool)
|
||||
0:45 Constant:
|
||||
0:45 true (const bool)
|
||||
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
|
||||
0:47 Constant:
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:48 Constant:
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 Constant:
|
||||
0:48 11 (const int)
|
||||
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:49 Constant:
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 Constant:
|
||||
0:49 12 (const int)
|
||||
0:49 Branch: Return
|
||||
0:43 0 (const uint)
|
||||
0:43 'myarray' (temp 2-element array of int)
|
||||
0:43 Constant:
|
||||
0:43 99 (const int)
|
||||
0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 104 (const int)
|
||||
0:44 Constant:
|
||||
0:44 false (const bool)
|
||||
0:9 Constant:
|
||||
0:9 false (const bool)
|
||||
0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int)
|
||||
0:45 Constant:
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 105 (const int)
|
||||
0:45 Constant:
|
||||
0:45 false (const bool)
|
||||
0:45 Constant:
|
||||
0:45 true (const bool)
|
||||
0:47 Function Call: fn2(vi4; (temp 4-component vector of int)
|
||||
0:47 Constant:
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:47 112 (const int)
|
||||
0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:48 Constant:
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 110 (const int)
|
||||
0:48 Constant:
|
||||
0:48 11 (const int)
|
||||
0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int)
|
||||
0:49 Constant:
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 111 (const int)
|
||||
0:49 Constant:
|
||||
0:49 12 (const int)
|
||||
0:37 Function Definition: main( (temp void)
|
||||
0:37 Function Parameters:
|
||||
0:? Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of int)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:37 Function Call: @main( (temp 4-component vector of int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
0:? 'cia' (const int)
|
||||
0:? -4 (const int)
|
||||
0:? 'cib' (const int)
|
||||
0:? -42 (const int)
|
||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int)
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue