hlsl.function.frag
ERROR: 0:29: 'fun1' : unknown variable 
ERROR: 0:29: 'return' : type does not match, or is not convertible to, the function's return type 
ERROR: 2 compilation errors.  No code generated.


Shader version: 500
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:2  Function Definition: fun0( ( temp 4-component vector of float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          1.000000
0:3          1.000000
0:3          1.000000
0:3          1.000000
0:7  Function Definition: fun2(vf4; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'col' ( const (read only) 4-component vector of float)
0:?     Sequence
0:8      Branch: Return with expression
0:8        Construct vec4 ( temp 4-component vector of float)
0:8          Comma ( temp float)
0:8            Comma ( temp float)
0:8              Comma ( temp float)
0:8                Constant:
0:8                  1.000000
0:8                Constant:
0:8                  2.000000
0:8              Constant:
0:8                3.000000
0:8            Constant:
0:8              4.000000
0:12  Function Definition: fun3(vf4; ( temp uint)
0:12    Function Parameters: 
0:12      'col' ( const (read only) 4-component vector of float)
0:?     Sequence
0:13      Branch: Return with expression
0:13        Constant:
0:13          7 (const uint)
0:17  Function Definition: fun4(u1;u1; ( temp 4-component vector of float)
0:17    Function Parameters: 
0:17      'id1' ( in uint)
0:17      'id2' ( uniform uint)
0:?     Sequence
0:18      Branch: Return with expression
0:18        Construct vec4 ( temp 4-component vector of float)
0:18          Convert uint to float ( temp float)
0:18            component-wise multiply ( temp uint)
0:18              'id1' ( in uint)
0:18              'id2' ( uniform uint)
0:22  Function Definition: fun1(i1; ( temp 4-component vector of float)
0:22    Function Parameters: 
0:22      'index' ( in int)
0:?     Sequence
0:23      Sequence
0:23        move second child to first child ( temp uint)
0:23          'entityId' ( temp uint)
0:23          Function Call: fun3(vf4; ( temp uint)
0:23            Function Call: fun2(vf4; ( temp 4-component vector of float)
0:23              Function Call: fun0( ( temp 4-component vector of float)
0:24      Branch: Return with expression
0:24        Function Call: fun4(u1;u1; ( temp 4-component vector of float)
0:24          'entityId' ( temp uint)
0:24          'entityId' ( temp uint)
0:28  Function Definition: @main( ( temp int)
0:28    Function Parameters: 
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      move second child to first child ( temp int)
0:?         '@entryPointOutput' (layout( location=0) out int)
0:28        Function Call: @main( ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out int)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:2  Function Definition: fun0( ( temp 4-component vector of float)
0:2    Function Parameters: 
0:?     Sequence
0:3      Branch: Return with expression
0:3        Constant:
0:3          1.000000
0:3          1.000000
0:3          1.000000
0:3          1.000000
0:7  Function Definition: fun2(vf4; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'col' ( const (read only) 4-component vector of float)
0:?     Sequence
0:8      Branch: Return with expression
0:8        Construct vec4 ( temp 4-component vector of float)
0:8          Comma ( temp float)
0:8            Comma ( temp float)
0:8              Comma ( temp float)
0:8                Constant:
0:8                  1.000000
0:8                Constant:
0:8                  2.000000
0:8              Constant:
0:8                3.000000
0:8            Constant:
0:8              4.000000
0:12  Function Definition: fun3(vf4; ( temp uint)
0:12    Function Parameters: 
0:12      'col' ( const (read only) 4-component vector of float)
0:?     Sequence
0:13      Branch: Return with expression
0:13        Constant:
0:13          7 (const uint)
0:17  Function Definition: fun4(u1;u1; ( temp 4-component vector of float)
0:17    Function Parameters: 
0:17      'id1' ( in uint)
0:17      'id2' ( uniform uint)
0:?     Sequence
0:18      Branch: Return with expression
0:18        Construct vec4 ( temp 4-component vector of float)
0:18          Convert uint to float ( temp float)
0:18            component-wise multiply ( temp uint)
0:18              'id1' ( in uint)
0:18              'id2' ( uniform uint)
0:22  Function Definition: fun1(i1; ( temp 4-component vector of float)
0:22    Function Parameters: 
0:22      'index' ( in int)
0:?     Sequence
0:23      Sequence
0:23        move second child to first child ( temp uint)
0:23          'entityId' ( temp uint)
0:23          Function Call: fun3(vf4; ( temp uint)
0:23            Function Call: fun2(vf4; ( temp 4-component vector of float)
0:23              Function Call: fun0( ( temp 4-component vector of float)
0:24      Branch: Return with expression
0:24        Function Call: fun4(u1;u1; ( temp 4-component vector of float)
0:24          'entityId' ( temp uint)
0:24          'entityId' ( temp uint)
0:28  Function Definition: @main( ( temp int)
0:28    Function Parameters: 
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      move second child to first child ( temp int)
0:?         '@entryPointOutput' (layout( location=0) out int)
0:28        Function Call: @main( ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out int)

SPIR-V is not generated for failed compile or link
