hlsl.conditional.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: vectorCond( ( temp 4-component vector of float)
0:8    Function Parameters: 
0:?     Sequence
0:12      Branch: Return with expression
0:11        add ( temp 4-component vector of float)
0:10          add ( temp 4-component vector of float)
0:9            add ( temp 4-component vector of float)
0:9              mix ( temp 4-component vector of float)
0:9                f4: direct index for structure ( uniform 4-component vector of float)
0:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                  Constant:
0:9                    2 (const uint)
0:9                t4: direct index for structure ( uniform 4-component vector of float)
0:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                  Constant:
0:9                    1 (const uint)
0:9                Convert float to bool ( temp 4-component vector of bool)
0:9                  c4: direct index for structure ( uniform 4-component vector of float)
0:9                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                    Constant:
0:9                      0 (const uint)
0:10              mix ( temp 4-component vector of float)
0:10                Construct vec4 ( temp 4-component vector of float)
0:10                  f: direct index for structure ( uniform float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      4 (const uint)
0:10                Construct vec4 ( temp 4-component vector of float)
0:10                  t: direct index for structure ( uniform float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      3 (const uint)
0:10                Convert float to bool ( temp 4-component vector of bool)
0:10                  c4: direct index for structure ( uniform 4-component vector of float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      0 (const uint)
0:11            mix ( temp 4-component vector of float)
0:11              f4: direct index for structure ( uniform 4-component vector of float)
0:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                Constant:
0:11                  2 (const uint)
0:11              t4: direct index for structure ( uniform 4-component vector of float)
0:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                Constant:
0:11                  1 (const uint)
0:11              Compare Less Than ( temp 4-component vector of bool)
0:11                t4: direct index for structure ( uniform 4-component vector of float)
0:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                  Constant:
0:11                    1 (const uint)
0:11                f4: direct index for structure ( uniform 4-component vector of float)
0:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                  Constant:
0:11                    2 (const uint)
0:12          mix ( temp 4-component vector of float)
0:12            f4: direct index for structure ( uniform 4-component vector of float)
0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12              Constant:
0:12                2 (const uint)
0:12            Construct vec4 ( temp 4-component vector of float)
0:12              t: direct index for structure ( uniform float)
0:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12                Constant:
0:12                  3 (const uint)
0:12            Convert float to bool ( temp 4-component vector of bool)
0:12              c4: direct index for structure ( uniform 4-component vector of float)
0:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12                Constant:
0:12                  0 (const uint)
0:16  Function Definition: scalarCond( ( temp 4-component vector of float)
0:16    Function Parameters: 
0:?     Sequence
0:17      Sequence
0:17        move second child to first child ( temp 4-component vector of float)
0:17          'ret' ( temp 4-component vector of float)
0:17          Test condition and select ( temp 4-component vector of float): no shortcircuit
0:17            Condition
0:17            Compare Not Equal ( temp bool)
0:17              t: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  3 (const uint)
0:17              f: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  4 (const uint)
0:17            true case
0:17            vector-scale ( temp 4-component vector of float)
0:17              t: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  3 (const uint)
0:17              f4: direct index for structure ( uniform 4-component vector of float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  2 (const uint)
0:17            false case
0:17            Constant:
0:17              1.000000
0:17              1.000000
0:17              1.000000
0:17              1.000000
0:18      Branch: Return with expression
0:18        'ret' ( temp 4-component vector of float)
0:22  Function Definition: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:22    Function Parameters: 
0:22      'cnd' ( in 2-component vector of bool)
0:22      'src0' ( in 2-component vector of float)
0:22      'src1' ( in 2-component vector of float)
0:?     Sequence
0:23      Branch: Return with expression
0:23        mix ( temp 2-component vector of float)
0:23          'src1' ( in 2-component vector of float)
0:23          'src0' ( in 2-component vector of float)
0:23          'cnd' ( in 2-component vector of bool)
0:27  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:27    Function Parameters: 
0:27      'input' ( in 4-component vector of float)
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp int)
0:28          'a' ( temp int)
0:28          Constant:
0:28            5 (const int)
0:29      Sequence
0:29        move second child to first child ( temp int)
0:29          'b' ( temp int)
0:29          Constant:
0:29            6 (const int)
0:30      Sequence
0:30        move second child to first child ( temp int)
0:30          'c' ( temp int)
0:30          Constant:
0:30            7 (const int)
0:31      Sequence
0:31        move second child to first child ( temp int)
0:31          'd' ( temp int)
0:31          Constant:
0:31            7 (const int)
0:32      Sequence
0:32        move second child to first child ( temp 4-component vector of float)
0:32          'ret' ( temp 4-component vector of float)
0:34          add ( temp 4-component vector of float)
0:33            add ( temp 4-component vector of float)
0:32              add ( temp 4-component vector of float)
0:32                vector-scale ( temp 4-component vector of float)
0:32                  Convert int to float ( temp float)
0:32                    'a' ( temp int)
0:32                  'input' ( in 4-component vector of float)
0:33                vector-scale ( temp 4-component vector of float)
0:33                  Convert int to float ( temp float)
0:33                    'b' ( temp int)
0:33                  'input' ( in 4-component vector of float)
0:34              vector-scale ( temp 4-component vector of float)
0:34                Convert int to float ( temp float)
0:34                  'c' ( temp int)
0:34                'input' ( in 4-component vector of float)
0:35            vector-scale ( temp 4-component vector of float)
0:35              Convert int to float ( temp float)
0:35                'd' ( temp int)
0:35              'input' ( in 4-component vector of float)
0:37      Comma ( temp int)
0:37        move second child to first child ( temp int)
0:37          'e' ( temp int)
0:37          move second child to first child ( temp int)
0:37            'a' ( temp int)
0:37            Test condition and select ( temp int): no shortcircuit
0:37              Condition
0:37              Convert int to bool ( temp bool)
0:37                'b' ( temp int)
0:37              true case
0:37              move second child to first child ( temp int)
0:37                'c' ( temp int)
0:37                'd' ( temp int)
0:37              false case
0:37              Constant:
0:37                10 (const int)
0:37        move second child to first child ( temp int)
0:37          'b' ( temp int)
0:37          Test condition and select ( temp int): no shortcircuit
0:37            Condition
0:37            Convert int to bool ( temp bool)
0:37              'a' ( temp int)
0:37            true case
0:37            move second child to first child ( temp int)
0:37              'd' ( temp int)
0:37              'c' ( temp int)
0:37            false case
0:37            Constant:
0:37              11 (const int)
0:39      move second child to first child ( temp 4-component vector of float)
0:39        'f' ( temp 4-component vector of float)
0:39        Test condition and select ( temp 4-component vector of float): no shortcircuit
0:39          Condition
0:39          Compare Less Than ( temp bool)
0:39            direct index ( temp float)
0:39              'ret' ( temp 4-component vector of float)
0:39              Constant:
0:39                0 (const int)
0:39            direct index ( temp float)
0:39              'input' ( in 4-component vector of float)
0:39              Constant:
0:39                1 (const int)
0:39          true case
0:39          vector-scale ( temp 4-component vector of float)
0:39            Convert int to float ( temp float)
0:39              'c' ( temp int)
0:39            'input' ( in 4-component vector of float)
0:39          false case
0:39          vector-scale ( temp 4-component vector of float)
0:39            Convert int to float ( temp float)
0:39              'd' ( temp int)
0:39            'input' ( in 4-component vector of float)
0:41      Branch: Return with expression
0:40        add ( temp 4-component vector of float)
0:40          add ( temp 4-component vector of float)
0:40            add ( temp 4-component vector of float)
0:40              add ( temp 4-component vector of float)
0:40                vector-scale ( temp 4-component vector of float)
0:40                  Convert int to float ( temp float)
0:40                    'e' ( temp int)
0:40                  'ret' ( temp 4-component vector of float)
0:40                'f' ( temp 4-component vector of float)
0:40              Function Call: vectorCond( ( temp 4-component vector of float)
0:40            Function Call: scalarCond( ( temp 4-component vector of float)
0:?           Construct vec4 ( temp 4-component vector of float)
0:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:?               Constant:
0:?                 true (const bool)
0:?                 false (const bool)
0:?               Constant:
0:?                 1.000000
0:?                 2.000000
0:?               Constant:
0:?                 3.000000
0:?                 4.000000
0:41            Constant:
0:41              10.000000
0:41            Constant:
0:41              10.000000
0:27  Function Definition: PixelShaderFunction( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:27      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: vectorCond( ( temp 4-component vector of float)
0:8    Function Parameters: 
0:?     Sequence
0:12      Branch: Return with expression
0:11        add ( temp 4-component vector of float)
0:10          add ( temp 4-component vector of float)
0:9            add ( temp 4-component vector of float)
0:9              mix ( temp 4-component vector of float)
0:9                f4: direct index for structure ( uniform 4-component vector of float)
0:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                  Constant:
0:9                    2 (const uint)
0:9                t4: direct index for structure ( uniform 4-component vector of float)
0:9                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                  Constant:
0:9                    1 (const uint)
0:9                Convert float to bool ( temp 4-component vector of bool)
0:9                  c4: direct index for structure ( uniform 4-component vector of float)
0:9                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:9                    Constant:
0:9                      0 (const uint)
0:10              mix ( temp 4-component vector of float)
0:10                Construct vec4 ( temp 4-component vector of float)
0:10                  f: direct index for structure ( uniform float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      4 (const uint)
0:10                Construct vec4 ( temp 4-component vector of float)
0:10                  t: direct index for structure ( uniform float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      3 (const uint)
0:10                Convert float to bool ( temp 4-component vector of bool)
0:10                  c4: direct index for structure ( uniform 4-component vector of float)
0:10                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:10                    Constant:
0:10                      0 (const uint)
0:11            mix ( temp 4-component vector of float)
0:11              f4: direct index for structure ( uniform 4-component vector of float)
0:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                Constant:
0:11                  2 (const uint)
0:11              t4: direct index for structure ( uniform 4-component vector of float)
0:11                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                Constant:
0:11                  1 (const uint)
0:11              Compare Less Than ( temp 4-component vector of bool)
0:11                t4: direct index for structure ( uniform 4-component vector of float)
0:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                  Constant:
0:11                    1 (const uint)
0:11                f4: direct index for structure ( uniform 4-component vector of float)
0:11                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:11                  Constant:
0:11                    2 (const uint)
0:12          mix ( temp 4-component vector of float)
0:12            f4: direct index for structure ( uniform 4-component vector of float)
0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12              Constant:
0:12                2 (const uint)
0:12            Construct vec4 ( temp 4-component vector of float)
0:12              t: direct index for structure ( uniform float)
0:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12                Constant:
0:12                  3 (const uint)
0:12            Convert float to bool ( temp 4-component vector of bool)
0:12              c4: direct index for structure ( uniform 4-component vector of float)
0:12                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:12                Constant:
0:12                  0 (const uint)
0:16  Function Definition: scalarCond( ( temp 4-component vector of float)
0:16    Function Parameters: 
0:?     Sequence
0:17      Sequence
0:17        move second child to first child ( temp 4-component vector of float)
0:17          'ret' ( temp 4-component vector of float)
0:17          Test condition and select ( temp 4-component vector of float): no shortcircuit
0:17            Condition
0:17            Compare Not Equal ( temp bool)
0:17              t: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  3 (const uint)
0:17              f: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  4 (const uint)
0:17            true case
0:17            vector-scale ( temp 4-component vector of float)
0:17              t: direct index for structure ( uniform float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  3 (const uint)
0:17              f4: direct index for structure ( uniform 4-component vector of float)
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:17                Constant:
0:17                  2 (const uint)
0:17            false case
0:17            Constant:
0:17              1.000000
0:17              1.000000
0:17              1.000000
0:17              1.000000
0:18      Branch: Return with expression
0:18        'ret' ( temp 4-component vector of float)
0:22  Function Definition: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:22    Function Parameters: 
0:22      'cnd' ( in 2-component vector of bool)
0:22      'src0' ( in 2-component vector of float)
0:22      'src1' ( in 2-component vector of float)
0:?     Sequence
0:23      Branch: Return with expression
0:23        mix ( temp 2-component vector of float)
0:23          'src1' ( in 2-component vector of float)
0:23          'src0' ( in 2-component vector of float)
0:23          'cnd' ( in 2-component vector of bool)
0:27  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:27    Function Parameters: 
0:27      'input' ( in 4-component vector of float)
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp int)
0:28          'a' ( temp int)
0:28          Constant:
0:28            5 (const int)
0:29      Sequence
0:29        move second child to first child ( temp int)
0:29          'b' ( temp int)
0:29          Constant:
0:29            6 (const int)
0:30      Sequence
0:30        move second child to first child ( temp int)
0:30          'c' ( temp int)
0:30          Constant:
0:30            7 (const int)
0:31      Sequence
0:31        move second child to first child ( temp int)
0:31          'd' ( temp int)
0:31          Constant:
0:31            7 (const int)
0:32      Sequence
0:32        move second child to first child ( temp 4-component vector of float)
0:32          'ret' ( temp 4-component vector of float)
0:34          add ( temp 4-component vector of float)
0:33            add ( temp 4-component vector of float)
0:32              add ( temp 4-component vector of float)
0:32                vector-scale ( temp 4-component vector of float)
0:32                  Convert int to float ( temp float)
0:32                    'a' ( temp int)
0:32                  'input' ( in 4-component vector of float)
0:33                vector-scale ( temp 4-component vector of float)
0:33                  Convert int to float ( temp float)
0:33                    'b' ( temp int)
0:33                  'input' ( in 4-component vector of float)
0:34              vector-scale ( temp 4-component vector of float)
0:34                Convert int to float ( temp float)
0:34                  'c' ( temp int)
0:34                'input' ( in 4-component vector of float)
0:35            vector-scale ( temp 4-component vector of float)
0:35              Convert int to float ( temp float)
0:35                'd' ( temp int)
0:35              'input' ( in 4-component vector of float)
0:37      Comma ( temp int)
0:37        move second child to first child ( temp int)
0:37          'e' ( temp int)
0:37          move second child to first child ( temp int)
0:37            'a' ( temp int)
0:37            Test condition and select ( temp int): no shortcircuit
0:37              Condition
0:37              Convert int to bool ( temp bool)
0:37                'b' ( temp int)
0:37              true case
0:37              move second child to first child ( temp int)
0:37                'c' ( temp int)
0:37                'd' ( temp int)
0:37              false case
0:37              Constant:
0:37                10 (const int)
0:37        move second child to first child ( temp int)
0:37          'b' ( temp int)
0:37          Test condition and select ( temp int): no shortcircuit
0:37            Condition
0:37            Convert int to bool ( temp bool)
0:37              'a' ( temp int)
0:37            true case
0:37            move second child to first child ( temp int)
0:37              'd' ( temp int)
0:37              'c' ( temp int)
0:37            false case
0:37            Constant:
0:37              11 (const int)
0:39      move second child to first child ( temp 4-component vector of float)
0:39        'f' ( temp 4-component vector of float)
0:39        Test condition and select ( temp 4-component vector of float): no shortcircuit
0:39          Condition
0:39          Compare Less Than ( temp bool)
0:39            direct index ( temp float)
0:39              'ret' ( temp 4-component vector of float)
0:39              Constant:
0:39                0 (const int)
0:39            direct index ( temp float)
0:39              'input' ( in 4-component vector of float)
0:39              Constant:
0:39                1 (const int)
0:39          true case
0:39          vector-scale ( temp 4-component vector of float)
0:39            Convert int to float ( temp float)
0:39              'c' ( temp int)
0:39            'input' ( in 4-component vector of float)
0:39          false case
0:39          vector-scale ( temp 4-component vector of float)
0:39            Convert int to float ( temp float)
0:39              'd' ( temp int)
0:39            'input' ( in 4-component vector of float)
0:41      Branch: Return with expression
0:40        add ( temp 4-component vector of float)
0:40          add ( temp 4-component vector of float)
0:40            add ( temp 4-component vector of float)
0:40              add ( temp 4-component vector of float)
0:40                vector-scale ( temp 4-component vector of float)
0:40                  Convert int to float ( temp float)
0:40                    'e' ( temp int)
0:40                  'ret' ( temp 4-component vector of float)
0:40                'f' ( temp 4-component vector of float)
0:40              Function Call: vectorCond( ( temp 4-component vector of float)
0:40            Function Call: scalarCond( ( temp 4-component vector of float)
0:?           Construct vec4 ( temp 4-component vector of float)
0:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:?               Constant:
0:?                 true (const bool)
0:?                 false (const bool)
0:?               Constant:
0:?                 1.000000
0:?                 2.000000
0:?               Constant:
0:?                 3.000000
0:?                 4.000000
0:41            Constant:
0:41              10.000000
0:41            Constant:
0:41              10.000000
0:27  Function Definition: PixelShaderFunction( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:27      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:27        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float c4,  uniform 4-component vector of float t4,  uniform 4-component vector of float f4,  uniform float t,  uniform float f})
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 206

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 199 202
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 9  "vectorCond("
                              Name 11  "scalarCond("
                              Name 22  "fbSelect(vb2;vf2;vf2;"
                              Name 19  "cnd"
                              Name 20  "src0"
                              Name 21  "src1"
                              Name 27  "@PixelShaderFunction(vf4;"
                              Name 26  "input"
                              Name 29  "$Global"
                              MemberName 29($Global) 0  "c4"
                              MemberName 29($Global) 1  "t4"
                              MemberName 29($Global) 2  "f4"
                              MemberName 29($Global) 3  "t"
                              MemberName 29($Global) 4  "f"
                              Name 31  ""
                              Name 85  "ret"
                              Name 110  "a"
                              Name 112  "b"
                              Name 114  "c"
                              Name 116  "d"
                              Name 117  "ret"
                              Name 137  "e"
                              Name 150  "f"
                              Name 186  "param"
                              Name 187  "param"
                              Name 188  "param"
                              Name 197  "input"
                              Name 199  "input"
                              Name 202  "@entryPointOutput"
                              Name 203  "param"
                              MemberDecorate 29($Global) 0 Offset 0
                              MemberDecorate 29($Global) 1 Offset 16
                              MemberDecorate 29($Global) 2 Offset 32
                              MemberDecorate 29($Global) 3 Offset 48
                              MemberDecorate 29($Global) 4 Offset 52
                              Decorate 29($Global) Block
                              Decorate 31 DescriptorSet 0
                              Decorate 199(input) Location 0
                              Decorate 202(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              13:             TypeBool
              14:             TypeVector 13(bool) 2
              15:             TypePointer Function 14(bvec2)
              16:             TypeVector 6(float) 2
              17:             TypePointer Function 16(fvec2)
              18:             TypeFunction 16(fvec2) 15(ptr) 17(ptr) 17(ptr)
              24:             TypePointer Function 7(fvec4)
              25:             TypeFunction 7(fvec4) 24(ptr)
     29($Global):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 6(float) 6(float)
              30:             TypePointer Uniform 29($Global)
              31:     30(ptr) Variable Uniform
              32:             TypeInt 32 1
              33:     32(int) Constant 2
              34:             TypePointer Uniform 7(fvec4)
              37:     32(int) Constant 1
              40:     32(int) Constant 0
              43:             TypeVector 13(bool) 4
              44:    6(float) Constant 0
              45:    7(fvec4) ConstantComposite 44 44 44 44
              48:     32(int) Constant 4
              49:             TypePointer Uniform 6(float)
              53:     32(int) Constant 3
              96:    6(float) Constant 1065353216
              97:    7(fvec4) ConstantComposite 96 96 96 96
             109:             TypePointer Function 32(int)
             111:     32(int) Constant 5
             113:     32(int) Constant 6
             115:     32(int) Constant 7
             139:             TypeInt 32 0
             140:    139(int) Constant 0
             143:     32(int) Constant 10
             148:     32(int) Constant 11
             151:             TypePointer Function 6(float)
             154:    139(int) Constant 1
             178:    13(bool) ConstantTrue
             179:    13(bool) ConstantFalse
             180:   14(bvec2) ConstantComposite 178 179
             181:    6(float) Constant 1073741824
             182:   16(fvec2) ConstantComposite 96 181
             183:    6(float) Constant 1077936128
             184:    6(float) Constant 1082130432
             185:   16(fvec2) ConstantComposite 183 184
             190:    6(float) Constant 1092616192
             198:             TypePointer Input 7(fvec4)
      199(input):    198(ptr) Variable Input
             201:             TypePointer Output 7(fvec4)
202(@entryPointOutput):    201(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
      197(input):     24(ptr) Variable Function
      203(param):     24(ptr) Variable Function
             200:    7(fvec4) Load 199(input)
                              Store 197(input) 200
             204:    7(fvec4) Load 197(input)
                              Store 203(param) 204
             205:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 203(param)
                              Store 202(@entryPointOutput) 205
                              Return
                              FunctionEnd
  9(vectorCond():    7(fvec4) Function None 8
              10:             Label
              35:     34(ptr) AccessChain 31 33
              36:    7(fvec4) Load 35
              38:     34(ptr) AccessChain 31 37
              39:    7(fvec4) Load 38
              41:     34(ptr) AccessChain 31 40
              42:    7(fvec4) Load 41
              46:   43(bvec4) FOrdNotEqual 42 45
              47:    7(fvec4) Select 46 39 36
              50:     49(ptr) AccessChain 31 48
              51:    6(float) Load 50
              52:    7(fvec4) CompositeConstruct 51 51 51 51
              54:     49(ptr) AccessChain 31 53
              55:    6(float) Load 54
              56:    7(fvec4) CompositeConstruct 55 55 55 55
              57:     34(ptr) AccessChain 31 40
              58:    7(fvec4) Load 57
              59:   43(bvec4) FOrdNotEqual 58 45
              60:    7(fvec4) Select 59 56 52
              61:    7(fvec4) FAdd 47 60
              62:     34(ptr) AccessChain 31 33
              63:    7(fvec4) Load 62
              64:     34(ptr) AccessChain 31 37
              65:    7(fvec4) Load 64
              66:     34(ptr) AccessChain 31 37
              67:    7(fvec4) Load 66
              68:     34(ptr) AccessChain 31 33
              69:    7(fvec4) Load 68
              70:   43(bvec4) FOrdLessThan 67 69
              71:    7(fvec4) Select 70 65 63
              72:    7(fvec4) FAdd 61 71
              73:     34(ptr) AccessChain 31 33
              74:    7(fvec4) Load 73
              75:     49(ptr) AccessChain 31 53
              76:    6(float) Load 75
              77:    7(fvec4) CompositeConstruct 76 76 76 76
              78:     34(ptr) AccessChain 31 40
              79:    7(fvec4) Load 78
              80:   43(bvec4) FOrdNotEqual 79 45
              81:    7(fvec4) Select 80 77 74
              82:    7(fvec4) FAdd 72 81
                              ReturnValue 82
                              FunctionEnd
 11(scalarCond():    7(fvec4) Function None 8
              12:             Label
         85(ret):     24(ptr) Variable Function
              86:     49(ptr) AccessChain 31 53
              87:    6(float) Load 86
              88:     49(ptr) AccessChain 31 48
              89:    6(float) Load 88
              90:    13(bool) FOrdNotEqual 87 89
              91:     49(ptr) AccessChain 31 53
              92:    6(float) Load 91
              93:     34(ptr) AccessChain 31 33
              94:    7(fvec4) Load 93
              95:    7(fvec4) VectorTimesScalar 94 92
              98:   43(bvec4) CompositeConstruct 90 90 90 90
              99:    7(fvec4) Select 98 95 97
                              Store 85(ret) 99
             100:    7(fvec4) Load 85(ret)
                              ReturnValue 100
                              FunctionEnd
22(fbSelect(vb2;vf2;vf2;):   16(fvec2) Function None 18
         19(cnd):     15(ptr) FunctionParameter
        20(src0):     17(ptr) FunctionParameter
        21(src1):     17(ptr) FunctionParameter
              23:             Label
             103:   16(fvec2) Load 21(src1)
             104:   16(fvec2) Load 20(src0)
             105:   14(bvec2) Load 19(cnd)
             106:   16(fvec2) Select 105 104 103
                              ReturnValue 106
                              FunctionEnd
27(@PixelShaderFunction(vf4;):    7(fvec4) Function None 25
       26(input):     24(ptr) FunctionParameter
              28:             Label
          110(a):    109(ptr) Variable Function
          112(b):    109(ptr) Variable Function
          114(c):    109(ptr) Variable Function
          116(d):    109(ptr) Variable Function
        117(ret):     24(ptr) Variable Function
          137(e):    109(ptr) Variable Function
          150(f):     24(ptr) Variable Function
      186(param):     15(ptr) Variable Function
      187(param):     17(ptr) Variable Function
      188(param):     17(ptr) Variable Function
                              Store 110(a) 111
                              Store 112(b) 113
                              Store 114(c) 115
                              Store 116(d) 115
             118:     32(int) Load 110(a)
             119:    6(float) ConvertSToF 118
             120:    7(fvec4) Load 26(input)
             121:    7(fvec4) VectorTimesScalar 120 119
             122:     32(int) Load 112(b)
             123:    6(float) ConvertSToF 122
             124:    7(fvec4) Load 26(input)
             125:    7(fvec4) VectorTimesScalar 124 123
             126:    7(fvec4) FAdd 121 125
             127:     32(int) Load 114(c)
             128:    6(float) ConvertSToF 127
             129:    7(fvec4) Load 26(input)
             130:    7(fvec4) VectorTimesScalar 129 128
             131:    7(fvec4) FAdd 126 130
             132:     32(int) Load 116(d)
             133:    6(float) ConvertSToF 132
             134:    7(fvec4) Load 26(input)
             135:    7(fvec4) VectorTimesScalar 134 133
             136:    7(fvec4) FAdd 131 135
                              Store 117(ret) 136
             138:     32(int) Load 112(b)
             141:    13(bool) INotEqual 138 140
             142:     32(int) Load 116(d)
                              Store 114(c) 142
             144:     32(int) Select 141 142 143
                              Store 110(a) 144
                              Store 137(e) 144
             145:     32(int) Load 110(a)
             146:    13(bool) INotEqual 145 140
             147:     32(int) Load 114(c)
                              Store 116(d) 147
             149:     32(int) Select 146 147 148
                              Store 112(b) 149
             152:    151(ptr) AccessChain 117(ret) 140
             153:    6(float) Load 152
             155:    151(ptr) AccessChain 26(input) 154
             156:    6(float) Load 155
             157:    13(bool) FOrdLessThan 153 156
             158:     32(int) Load 114(c)
             159:    6(float) ConvertSToF 158
             160:    7(fvec4) Load 26(input)
             161:    7(fvec4) VectorTimesScalar 160 159
             162:     32(int) Load 116(d)
             163:    6(float) ConvertSToF 162
             164:    7(fvec4) Load 26(input)
             165:    7(fvec4) VectorTimesScalar 164 163
             166:   43(bvec4) CompositeConstruct 157 157 157 157
             167:    7(fvec4) Select 166 161 165
                              Store 150(f) 167
             168:     32(int) Load 137(e)
             169:    6(float) ConvertSToF 168
             170:    7(fvec4) Load 117(ret)
             171:    7(fvec4) VectorTimesScalar 170 169
             172:    7(fvec4) Load 150(f)
             173:    7(fvec4) FAdd 171 172
             174:    7(fvec4) FunctionCall 9(vectorCond()
             175:    7(fvec4) FAdd 173 174
             176:    7(fvec4) FunctionCall 11(scalarCond()
             177:    7(fvec4) FAdd 175 176
                              Store 186(param) 180
                              Store 187(param) 182
                              Store 188(param) 185
             189:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 186(param) 187(param) 188(param)
             191:    6(float) CompositeExtract 189 0
             192:    6(float) CompositeExtract 189 1
             193:    7(fvec4) CompositeConstruct 191 192 190 190
             194:    7(fvec4) FAdd 177 193
                              ReturnValue 194
                              FunctionEnd
