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)
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)
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)
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)
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)
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)
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)
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)
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): 80002
// Id's are bound by 220

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 213 216
                              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 113  "a"
                              Name 115  "b"
                              Name 117  "c"
                              Name 119  "d"
                              Name 120  "ret"
                              Name 140  "e"
                              Name 161  "f"
                              Name 200  "param"
                              Name 201  "param"
                              Name 202  "param"
                              Name 211  "input"
                              Name 213  "input"
                              Name 216  "@entryPointOutput"
                              Name 217  "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 213(input) Location 0
                              Decorate 216(@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
             100:    6(float) Constant 1065353216
             101:    7(fvec4) ConstantComposite 100 100 100 100
             112:             TypePointer Function 32(int)
             114:     32(int) Constant 5
             116:     32(int) Constant 6
             118:     32(int) Constant 7
             143:             TypeInt 32 0
             144:    143(int) Constant 0
             150:     32(int) Constant 10
             159:     32(int) Constant 11
             163:             TypePointer Function 6(float)
             166:    143(int) Constant 1
             192:    13(bool) ConstantTrue
             193:    13(bool) ConstantFalse
             194:   14(bvec2) ConstantComposite 192 193
             195:    6(float) Constant 1073741824
             196:   16(fvec2) ConstantComposite 100 195
             197:    6(float) Constant 1077936128
             198:    6(float) Constant 1082130432
             199:   16(fvec2) ConstantComposite 197 198
             204:    6(float) Constant 1092616192
             212:             TypePointer Input 7(fvec4)
      213(input):    212(ptr) Variable Input
             215:             TypePointer Output 7(fvec4)
216(@entryPointOutput):    215(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
      211(input):     24(ptr) Variable Function
      217(param):     24(ptr) Variable Function
             214:    7(fvec4) Load 213(input)
                              Store 211(input) 214
             218:    7(fvec4) Load 211(input)
                              Store 217(param) 218
             219:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 217(param)
                              Store 216(@entryPointOutput) 219
                              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:     24(ptr) Variable Function
              87:     49(ptr) AccessChain 31 53
              88:    6(float) Load 87
              89:     49(ptr) AccessChain 31 48
              90:    6(float) Load 89
              91:    13(bool) FOrdNotEqual 88 90
                              SelectionMerge 93 None
                              BranchConditional 91 92 99
              92:               Label
              94:     49(ptr)   AccessChain 31 53
              95:    6(float)   Load 94
              96:     34(ptr)   AccessChain 31 33
              97:    7(fvec4)   Load 96
              98:    7(fvec4)   VectorTimesScalar 97 95
                                Store 86 98
                                Branch 93
              99:               Label
                                Store 86 101
                                Branch 93
              93:             Label
             102:    7(fvec4) Load 86
                              Store 85(ret) 102
             103:    7(fvec4) Load 85(ret)
                              ReturnValue 103
                              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
             106:   16(fvec2) Load 21(src1)
             107:   16(fvec2) Load 20(src0)
             108:   14(bvec2) Load 19(cnd)
             109:   16(fvec2) Select 108 107 106
                              ReturnValue 109
                              FunctionEnd
27(@PixelShaderFunction(vf4;):    7(fvec4) Function None 25
       26(input):     24(ptr) FunctionParameter
              28:             Label
          113(a):    112(ptr) Variable Function
          115(b):    112(ptr) Variable Function
          117(c):    112(ptr) Variable Function
          119(d):    112(ptr) Variable Function
        120(ret):     24(ptr) Variable Function
          140(e):    112(ptr) Variable Function
             141:    112(ptr) Variable Function
             152:    112(ptr) Variable Function
          161(f):     24(ptr) Variable Function
             162:     24(ptr) Variable Function
      200(param):     15(ptr) Variable Function
      201(param):     17(ptr) Variable Function
      202(param):     17(ptr) Variable Function
                              Store 113(a) 114
                              Store 115(b) 116
                              Store 117(c) 118
                              Store 119(d) 118
             121:     32(int) Load 113(a)
             122:    6(float) ConvertSToF 121
             123:    7(fvec4) Load 26(input)
             124:    7(fvec4) VectorTimesScalar 123 122
             125:     32(int) Load 115(b)
             126:    6(float) ConvertSToF 125
             127:    7(fvec4) Load 26(input)
             128:    7(fvec4) VectorTimesScalar 127 126
             129:    7(fvec4) FAdd 124 128
             130:     32(int) Load 117(c)
             131:    6(float) ConvertSToF 130
             132:    7(fvec4) Load 26(input)
             133:    7(fvec4) VectorTimesScalar 132 131
             134:    7(fvec4) FAdd 129 133
             135:     32(int) Load 119(d)
             136:    6(float) ConvertSToF 135
             137:    7(fvec4) Load 26(input)
             138:    7(fvec4) VectorTimesScalar 137 136
             139:    7(fvec4) FAdd 134 138
                              Store 120(ret) 139
             142:     32(int) Load 115(b)
             145:    13(bool) INotEqual 142 144
                              SelectionMerge 147 None
                              BranchConditional 145 146 149
             146:               Label
             148:     32(int)   Load 119(d)
                                Store 117(c) 148
                                Store 141 148
                                Branch 147
             149:               Label
                                Store 141 150
                                Branch 147
             147:             Label
             151:     32(int) Load 141
                              Store 113(a) 151
                              Store 140(e) 151
             153:     32(int) Load 113(a)
             154:    13(bool) INotEqual 153 144
                              SelectionMerge 156 None
                              BranchConditional 154 155 158
             155:               Label
             157:     32(int)   Load 117(c)
                                Store 119(d) 157
                                Store 152 157
                                Branch 156
             158:               Label
                                Store 152 159
                                Branch 156
             156:             Label
             160:     32(int) Load 152
                              Store 115(b) 160
             164:    163(ptr) AccessChain 120(ret) 144
             165:    6(float) Load 164
             167:    163(ptr) AccessChain 26(input) 166
             168:    6(float) Load 167
             169:    13(bool) FOrdLessThan 165 168
                              SelectionMerge 171 None
                              BranchConditional 169 170 176
             170:               Label
             172:     32(int)   Load 117(c)
             173:    6(float)   ConvertSToF 172
             174:    7(fvec4)   Load 26(input)
             175:    7(fvec4)   VectorTimesScalar 174 173
                                Store 162 175
                                Branch 171
             176:               Label
             177:     32(int)   Load 119(d)
             178:    6(float)   ConvertSToF 177
             179:    7(fvec4)   Load 26(input)
             180:    7(fvec4)   VectorTimesScalar 179 178
                                Store 162 180
                                Branch 171
             171:             Label
             181:    7(fvec4) Load 162
                              Store 161(f) 181
             182:     32(int) Load 140(e)
             183:    6(float) ConvertSToF 182
             184:    7(fvec4) Load 120(ret)
             185:    7(fvec4) VectorTimesScalar 184 183
             186:    7(fvec4) Load 161(f)
             187:    7(fvec4) FAdd 185 186
             188:    7(fvec4) FunctionCall 9(vectorCond()
             189:    7(fvec4) FAdd 187 188
             190:    7(fvec4) FunctionCall 11(scalarCond()
             191:    7(fvec4) FAdd 189 190
                              Store 200(param) 194
                              Store 201(param) 196
                              Store 202(param) 199
             203:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 200(param) 201(param) 202(param)
             205:    6(float) CompositeExtract 203 0
             206:    6(float) CompositeExtract 203 1
             207:    7(fvec4) CompositeConstruct 205 206 204 204
             208:    7(fvec4) FAdd 191 207
                              ReturnValue 208
                              FunctionEnd
