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:40      Sequence
0:40        move second child to first child ( temp uint)
0:40          'g' ( temp uint)
0:40          Test condition and select ( temp uint): no shortcircuit
0:40            Condition
0:40            Compare Greater Than ( temp bool)
0:40              Convert int to float ( temp float)
0:40                'd' ( temp int)
0:40              Constant:
0:40                0.000000
0:40            true case
0:40            Constant:
0:40              21 (const uint)
0:40            false case
0:40            Constant:
0:40              0 (const uint)
0:41      Sequence
0:41        move second child to first child ( temp uint)
0:41          'h' ( temp uint)
0:41          Test condition and select ( temp uint): no shortcircuit
0:41            Condition
0:41            Compare Greater Than ( temp bool)
0:41              Convert uint to float ( temp float)
0:41                'g' ( temp uint)
0:41              Constant:
0:41                0.000000
0:41            true case
0:41            Constant:
0:41              63 (const uint)
0:41            false case
0:41            Constant:
0:41              0 (const uint)
0:42      Sequence
0:42        move second child to first child ( temp uint)
0:42          'i' ( temp uint)
0:42          Test condition and select ( temp uint): no shortcircuit
0:42            Condition
0:42            Compare Greater Than ( temp bool)
0:42              Convert uint to float ( temp float)
0:42                'h' ( temp uint)
0:42              Constant:
0:42                0.000000
0:42            true case
0:42            Constant:
0:42              5 (const uint)
0:42            false case
0:42            Constant:
0:42              1 (const uint)
0:43      Sequence
0:43        move second child to first child ( temp uint)
0:43          'j' ( temp uint)
0:43          Convert int to uint ( temp uint)
0:43            Test condition and select ( temp int): no shortcircuit
0:43              Condition
0:43              Compare Greater Than ( temp bool)
0:43                Convert uint to float ( temp float)
0:43                  'i' ( temp uint)
0:43                Constant:
0:43                  0.000000
0:43              true case
0:43              Constant:
0:43                43981 (const int)
0:43              false case
0:43              Constant:
0:43                48346 (const int)
0:45      Branch: Return with expression
0:44        add ( temp 4-component vector of float)
0:44          add ( temp 4-component vector of float)
0:44            add ( temp 4-component vector of float)
0:44              add ( temp 4-component vector of float)
0:44                vector-scale ( temp 4-component vector of float)
0:44                  Convert int to float ( temp float)
0:44                    'e' ( temp int)
0:44                  'ret' ( temp 4-component vector of float)
0:44                'f' ( temp 4-component vector of float)
0:44              Function Call: vectorCond( ( temp 4-component vector of float)
0:44            Function Call: scalarCond( ( temp 4-component vector of float)
0:45          Construct vec4 ( temp 4-component vector of float)
0:45            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:45              Constant:
0:45                true (const bool)
0:45                false (const bool)
0:45              Constant:
0:45                1.000000
0:45                2.000000
0:45              Constant:
0:45                3.000000
0:45                4.000000
0:45            Constant:
0:45              10.000000
0:45            Constant:
0:45              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:40      Sequence
0:40        move second child to first child ( temp uint)
0:40          'g' ( temp uint)
0:40          Test condition and select ( temp uint): no shortcircuit
0:40            Condition
0:40            Compare Greater Than ( temp bool)
0:40              Convert int to float ( temp float)
0:40                'd' ( temp int)
0:40              Constant:
0:40                0.000000
0:40            true case
0:40            Constant:
0:40              21 (const uint)
0:40            false case
0:40            Constant:
0:40              0 (const uint)
0:41      Sequence
0:41        move second child to first child ( temp uint)
0:41          'h' ( temp uint)
0:41          Test condition and select ( temp uint): no shortcircuit
0:41            Condition
0:41            Compare Greater Than ( temp bool)
0:41              Convert uint to float ( temp float)
0:41                'g' ( temp uint)
0:41              Constant:
0:41                0.000000
0:41            true case
0:41            Constant:
0:41              63 (const uint)
0:41            false case
0:41            Constant:
0:41              0 (const uint)
0:42      Sequence
0:42        move second child to first child ( temp uint)
0:42          'i' ( temp uint)
0:42          Test condition and select ( temp uint): no shortcircuit
0:42            Condition
0:42            Compare Greater Than ( temp bool)
0:42              Convert uint to float ( temp float)
0:42                'h' ( temp uint)
0:42              Constant:
0:42                0.000000
0:42            true case
0:42            Constant:
0:42              5 (const uint)
0:42            false case
0:42            Constant:
0:42              1 (const uint)
0:43      Sequence
0:43        move second child to first child ( temp uint)
0:43          'j' ( temp uint)
0:43          Convert int to uint ( temp uint)
0:43            Test condition and select ( temp int): no shortcircuit
0:43              Condition
0:43              Compare Greater Than ( temp bool)
0:43                Convert uint to float ( temp float)
0:43                  'i' ( temp uint)
0:43                Constant:
0:43                  0.000000
0:43              true case
0:43              Constant:
0:43                43981 (const int)
0:43              false case
0:43              Constant:
0:43                48346 (const int)
0:45      Branch: Return with expression
0:44        add ( temp 4-component vector of float)
0:44          add ( temp 4-component vector of float)
0:44            add ( temp 4-component vector of float)
0:44              add ( temp 4-component vector of float)
0:44                vector-scale ( temp 4-component vector of float)
0:44                  Convert int to float ( temp float)
0:44                    'e' ( temp int)
0:44                  'ret' ( temp 4-component vector of float)
0:44                'f' ( temp 4-component vector of float)
0:44              Function Call: vectorCond( ( temp 4-component vector of float)
0:44            Function Call: scalarCond( ( temp 4-component vector of float)
0:45          Construct vec4 ( temp 4-component vector of float)
0:45            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
0:45              Constant:
0:45                true (const bool)
0:45                false (const bool)
0:45              Constant:
0:45                1.000000
0:45                2.000000
0:45              Constant:
0:45                3.000000
0:45                4.000000
0:45            Constant:
0:45              10.000000
0:45            Constant:
0:45              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): 8000b
// Id's are bound by 233

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 226 229
                              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 169  "g"
                              Name 175  "h"
                              Name 181  "i"
                              Name 187  "j"
                              Name 213  "param"
                              Name 214  "param"
                              Name 215  "param"
                              Name 224  "input"
                              Name 226  "input"
                              Name 229  "@entryPointOutput"
                              Name 230  "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 31 Binding 0
                              Decorate 226(input) Location 0
                              Decorate 229(@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
             168:             TypePointer Function 139(int)
             173:    139(int) Constant 21
             179:    139(int) Constant 63
             185:    139(int) Constant 5
             191:     32(int) Constant 43981
             192:     32(int) Constant 48346
             205:    13(bool) ConstantTrue
             206:    13(bool) ConstantFalse
             207:   14(bvec2) ConstantComposite 205 206
             208:    6(float) Constant 1073741824
             209:   16(fvec2) ConstantComposite 96 208
             210:    6(float) Constant 1077936128
             211:    6(float) Constant 1082130432
             212:   16(fvec2) ConstantComposite 210 211
             217:    6(float) Constant 1092616192
             225:             TypePointer Input 7(fvec4)
      226(input):    225(ptr) Variable Input
             228:             TypePointer Output 7(fvec4)
229(@entryPointOutput):    228(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
      224(input):     24(ptr) Variable Function
      230(param):     24(ptr) Variable Function
             227:    7(fvec4) Load 226(input)
                              Store 224(input) 227
             231:    7(fvec4) Load 224(input)
                              Store 230(param) 231
             232:    7(fvec4) FunctionCall 27(@PixelShaderFunction(vf4;) 230(param)
                              Store 229(@entryPointOutput) 232
                              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) FUnordNotEqual 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) FUnordNotEqual 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) FUnordNotEqual 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) FUnordNotEqual 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
          169(g):    168(ptr) Variable Function
          175(h):    168(ptr) Variable Function
          181(i):    168(ptr) Variable Function
          187(j):    168(ptr) Variable Function
      213(param):     15(ptr) Variable Function
      214(param):     17(ptr) Variable Function
      215(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
             170:     32(int) Load 116(d)
             171:    6(float) ConvertSToF 170
             172:    13(bool) FOrdGreaterThan 171 44
             174:    139(int) Select 172 173 140
                              Store 169(g) 174
             176:    139(int) Load 169(g)
             177:    6(float) ConvertUToF 176
             178:    13(bool) FOrdGreaterThan 177 44
             180:    139(int) Select 178 179 140
                              Store 175(h) 180
             182:    139(int) Load 175(h)
             183:    6(float) ConvertUToF 182
             184:    13(bool) FOrdGreaterThan 183 44
             186:    139(int) Select 184 185 154
                              Store 181(i) 186
             188:    139(int) Load 181(i)
             189:    6(float) ConvertUToF 188
             190:    13(bool) FOrdGreaterThan 189 44
             193:     32(int) Select 190 191 192
             194:    139(int) Bitcast 193
                              Store 187(j) 194
             195:     32(int) Load 137(e)
             196:    6(float) ConvertSToF 195
             197:    7(fvec4) Load 117(ret)
             198:    7(fvec4) VectorTimesScalar 197 196
             199:    7(fvec4) Load 150(f)
             200:    7(fvec4) FAdd 198 199
             201:    7(fvec4) FunctionCall 9(vectorCond()
             202:    7(fvec4) FAdd 200 201
             203:    7(fvec4) FunctionCall 11(scalarCond()
             204:    7(fvec4) FAdd 202 203
                              Store 213(param) 207
                              Store 214(param) 209
                              Store 215(param) 212
             216:   16(fvec2) FunctionCall 22(fbSelect(vb2;vf2;vf2;) 213(param) 214(param) 215(param)
             218:    6(float) CompositeExtract 216 0
             219:    6(float) CompositeExtract 216 1
             220:    7(fvec4) CompositeConstruct 218 219 217 217
             221:    7(fvec4) FAdd 204 220
                              ReturnValue 221
                              FunctionEnd
