540 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			540 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
hlsl.implicitBool.frag
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:7  Function Definition: @main( ( temp 4-component vector of float)
 | 
						|
0:7    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:8      Sequence
 | 
						|
0:8        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:8          'a' ( temp 4-component vector of float)
 | 
						|
0:8          Constant:
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:9      Test condition and select ( temp void)
 | 
						|
0:9        Condition
 | 
						|
0:9        Convert int to bool ( temp bool)
 | 
						|
0:9          condi: direct index for structure ( uniform int)
 | 
						|
0:9            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:9            Constant:
 | 
						|
0:9              1 (const uint)
 | 
						|
0:9        true case
 | 
						|
0:10        Branch: Return with expression
 | 
						|
0:10          add ( temp 4-component vector of float)
 | 
						|
0:10            'a' ( temp 4-component vector of float)
 | 
						|
0:10            Constant:
 | 
						|
0:10              1.000000
 | 
						|
0:11      Test condition and select ( temp void)
 | 
						|
0:11        Condition
 | 
						|
0:11        Convert float to bool ( temp bool)
 | 
						|
0:11          condf: direct index for structure ( uniform float)
 | 
						|
0:11            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:11            Constant:
 | 
						|
0:11              0 (const uint)
 | 
						|
0:11        true case
 | 
						|
0:12        Branch: Return with expression
 | 
						|
0:12          add ( temp 4-component vector of float)
 | 
						|
0:12            'a' ( temp 4-component vector of float)
 | 
						|
0:12            Constant:
 | 
						|
0:12              2.000000
 | 
						|
0:13      Test condition and select ( temp void)
 | 
						|
0:13        Condition
 | 
						|
0:13        Convert float to bool ( temp bool)
 | 
						|
0:13          condf1: direct index for structure ( uniform 1-component vector of float)
 | 
						|
0:13            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:13            Constant:
 | 
						|
0:13              2 (const uint)
 | 
						|
0:13        true case
 | 
						|
0:14        Branch: Return with expression
 | 
						|
0:14          add ( temp 4-component vector of float)
 | 
						|
0:14            'a' ( temp 4-component vector of float)
 | 
						|
0:14            Constant:
 | 
						|
0:14              3.000000
 | 
						|
0:15      Test condition and select ( temp void)
 | 
						|
0:15        Condition
 | 
						|
0:15        Convert int to bool ( temp bool)
 | 
						|
0:15          condi1: direct index for structure ( uniform 1-component vector of int)
 | 
						|
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:15            Constant:
 | 
						|
0:15              3 (const uint)
 | 
						|
0:15        true case
 | 
						|
0:16        Branch: Return with expression
 | 
						|
0:16          add ( temp 4-component vector of float)
 | 
						|
0:16            'a' ( temp 4-component vector of float)
 | 
						|
0:16            Constant:
 | 
						|
0:16              4.000000
 | 
						|
0:17      Test condition and select ( temp void)
 | 
						|
0:17        Condition
 | 
						|
0:17        logical-or ( temp bool)
 | 
						|
0:17          logical-and ( temp bool)
 | 
						|
0:17            Convert int to bool ( temp bool)
 | 
						|
0:17              condi: direct index for structure ( uniform int)
 | 
						|
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17                Constant:
 | 
						|
0:17                  1 (const uint)
 | 
						|
0:17            Convert float to bool ( temp bool)
 | 
						|
0:17              condf: direct index for structure ( uniform float)
 | 
						|
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17                Constant:
 | 
						|
0:17                  0 (const uint)
 | 
						|
0:17          Convert float to bool ( temp bool)
 | 
						|
0:17            condf1: direct index for structure ( uniform 1-component vector of float)
 | 
						|
0:17              'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17              Constant:
 | 
						|
0:17                2 (const uint)
 | 
						|
0:17        true case
 | 
						|
0:18        Branch: Return with expression
 | 
						|
0:18          add ( temp 4-component vector of float)
 | 
						|
0:18            'a' ( temp 4-component vector of float)
 | 
						|
0:18            Constant:
 | 
						|
0:18              5.000000
 | 
						|
0:20      Sequence
 | 
						|
0:20        move second child to first child ( temp float)
 | 
						|
0:20          'f' ( temp float)
 | 
						|
0:20          condf: direct index for structure ( uniform float)
 | 
						|
0:20            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:20            Constant:
 | 
						|
0:20              0 (const uint)
 | 
						|
0:21      Loop with condition tested first
 | 
						|
0:21        Loop Condition
 | 
						|
0:21        Convert float to bool ( temp bool)
 | 
						|
0:21          'f' ( temp float)
 | 
						|
0:21        Loop Body
 | 
						|
0:?         Sequence
 | 
						|
0:21          Pre-Decrement ( temp float)
 | 
						|
0:21            'f' ( temp float)
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child ( temp int)
 | 
						|
0:23          'i' ( temp int)
 | 
						|
0:23          condi: direct index for structure ( uniform int)
 | 
						|
0:23            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:23            Constant:
 | 
						|
0:23              1 (const uint)
 | 
						|
0:24      Loop with condition not tested first
 | 
						|
0:24        Loop Condition
 | 
						|
0:24        Convert int to bool ( temp bool)
 | 
						|
0:24          'i' ( temp int)
 | 
						|
0:24        Loop Body
 | 
						|
0:?         Sequence
 | 
						|
0:24          Pre-Decrement ( temp int)
 | 
						|
0:24            'i' ( temp int)
 | 
						|
0:?       Sequence
 | 
						|
0:26        Loop with condition tested first
 | 
						|
0:26          Loop Condition
 | 
						|
0:26          Convert int to bool ( temp bool)
 | 
						|
0:26            'i' ( temp int)
 | 
						|
0:26          Loop Body
 | 
						|
0:?           Sequence
 | 
						|
0:26            Pre-Decrement ( temp int)
 | 
						|
0:26              'i' ( temp int)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp float)
 | 
						|
0:28          'g' ( temp float)
 | 
						|
0:28          Test condition and select ( temp float): no shortcircuit
 | 
						|
0:28            Condition
 | 
						|
0:28            Convert float to bool ( temp bool)
 | 
						|
0:28              condf: direct index for structure ( uniform float)
 | 
						|
0:28                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:28                Constant:
 | 
						|
0:28                  0 (const uint)
 | 
						|
0:28            true case
 | 
						|
0:28            Constant:
 | 
						|
0:28              7.000000
 | 
						|
0:28            false case
 | 
						|
0:28            Constant:
 | 
						|
0:28              8.000000
 | 
						|
0:29      add second child into first child ( temp 4-component vector of float)
 | 
						|
0:29        'a' ( temp 4-component vector of float)
 | 
						|
0:29        'g' ( temp float)
 | 
						|
0:31      Branch: Return with expression
 | 
						|
0:31        subtract ( temp 4-component vector of float)
 | 
						|
0:31          'a' ( temp 4-component vector of float)
 | 
						|
0:31          Constant:
 | 
						|
0:31            1.000000
 | 
						|
0:7  Function Definition: main( ( temp void)
 | 
						|
0:7    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:7      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:7        Function Call: @main( ( temp 4-component vector of float)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
 | 
						|
Shader version: 500
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
0:? Sequence
 | 
						|
0:7  Function Definition: @main( ( temp 4-component vector of float)
 | 
						|
0:7    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:8      Sequence
 | 
						|
0:8        move second child to first child ( temp 4-component vector of float)
 | 
						|
0:8          'a' ( temp 4-component vector of float)
 | 
						|
0:8          Constant:
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:8            2.000000
 | 
						|
0:9      Test condition and select ( temp void)
 | 
						|
0:9        Condition
 | 
						|
0:9        Convert int to bool ( temp bool)
 | 
						|
0:9          condi: direct index for structure ( uniform int)
 | 
						|
0:9            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:9            Constant:
 | 
						|
0:9              1 (const uint)
 | 
						|
0:9        true case
 | 
						|
0:10        Branch: Return with expression
 | 
						|
0:10          add ( temp 4-component vector of float)
 | 
						|
0:10            'a' ( temp 4-component vector of float)
 | 
						|
0:10            Constant:
 | 
						|
0:10              1.000000
 | 
						|
0:11      Test condition and select ( temp void)
 | 
						|
0:11        Condition
 | 
						|
0:11        Convert float to bool ( temp bool)
 | 
						|
0:11          condf: direct index for structure ( uniform float)
 | 
						|
0:11            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:11            Constant:
 | 
						|
0:11              0 (const uint)
 | 
						|
0:11        true case
 | 
						|
0:12        Branch: Return with expression
 | 
						|
0:12          add ( temp 4-component vector of float)
 | 
						|
0:12            'a' ( temp 4-component vector of float)
 | 
						|
0:12            Constant:
 | 
						|
0:12              2.000000
 | 
						|
0:13      Test condition and select ( temp void)
 | 
						|
0:13        Condition
 | 
						|
0:13        Convert float to bool ( temp bool)
 | 
						|
0:13          condf1: direct index for structure ( uniform 1-component vector of float)
 | 
						|
0:13            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:13            Constant:
 | 
						|
0:13              2 (const uint)
 | 
						|
0:13        true case
 | 
						|
0:14        Branch: Return with expression
 | 
						|
0:14          add ( temp 4-component vector of float)
 | 
						|
0:14            'a' ( temp 4-component vector of float)
 | 
						|
0:14            Constant:
 | 
						|
0:14              3.000000
 | 
						|
0:15      Test condition and select ( temp void)
 | 
						|
0:15        Condition
 | 
						|
0:15        Convert int to bool ( temp bool)
 | 
						|
0:15          condi1: direct index for structure ( uniform 1-component vector of int)
 | 
						|
0:15            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:15            Constant:
 | 
						|
0:15              3 (const uint)
 | 
						|
0:15        true case
 | 
						|
0:16        Branch: Return with expression
 | 
						|
0:16          add ( temp 4-component vector of float)
 | 
						|
0:16            'a' ( temp 4-component vector of float)
 | 
						|
0:16            Constant:
 | 
						|
0:16              4.000000
 | 
						|
0:17      Test condition and select ( temp void)
 | 
						|
0:17        Condition
 | 
						|
0:17        logical-or ( temp bool)
 | 
						|
0:17          logical-and ( temp bool)
 | 
						|
0:17            Convert int to bool ( temp bool)
 | 
						|
0:17              condi: direct index for structure ( uniform int)
 | 
						|
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17                Constant:
 | 
						|
0:17                  1 (const uint)
 | 
						|
0:17            Convert float to bool ( temp bool)
 | 
						|
0:17              condf: direct index for structure ( uniform float)
 | 
						|
0:17                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17                Constant:
 | 
						|
0:17                  0 (const uint)
 | 
						|
0:17          Convert float to bool ( temp bool)
 | 
						|
0:17            condf1: direct index for structure ( uniform 1-component vector of float)
 | 
						|
0:17              'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:17              Constant:
 | 
						|
0:17                2 (const uint)
 | 
						|
0:17        true case
 | 
						|
0:18        Branch: Return with expression
 | 
						|
0:18          add ( temp 4-component vector of float)
 | 
						|
0:18            'a' ( temp 4-component vector of float)
 | 
						|
0:18            Constant:
 | 
						|
0:18              5.000000
 | 
						|
0:20      Sequence
 | 
						|
0:20        move second child to first child ( temp float)
 | 
						|
0:20          'f' ( temp float)
 | 
						|
0:20          condf: direct index for structure ( uniform float)
 | 
						|
0:20            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:20            Constant:
 | 
						|
0:20              0 (const uint)
 | 
						|
0:21      Loop with condition tested first
 | 
						|
0:21        Loop Condition
 | 
						|
0:21        Convert float to bool ( temp bool)
 | 
						|
0:21          'f' ( temp float)
 | 
						|
0:21        Loop Body
 | 
						|
0:?         Sequence
 | 
						|
0:21          Pre-Decrement ( temp float)
 | 
						|
0:21            'f' ( temp float)
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child ( temp int)
 | 
						|
0:23          'i' ( temp int)
 | 
						|
0:23          condi: direct index for structure ( uniform int)
 | 
						|
0:23            'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:23            Constant:
 | 
						|
0:23              1 (const uint)
 | 
						|
0:24      Loop with condition not tested first
 | 
						|
0:24        Loop Condition
 | 
						|
0:24        Convert int to bool ( temp bool)
 | 
						|
0:24          'i' ( temp int)
 | 
						|
0:24        Loop Body
 | 
						|
0:?         Sequence
 | 
						|
0:24          Pre-Decrement ( temp int)
 | 
						|
0:24            'i' ( temp int)
 | 
						|
0:?       Sequence
 | 
						|
0:26        Loop with condition tested first
 | 
						|
0:26          Loop Condition
 | 
						|
0:26          Convert int to bool ( temp bool)
 | 
						|
0:26            'i' ( temp int)
 | 
						|
0:26          Loop Body
 | 
						|
0:?           Sequence
 | 
						|
0:26            Pre-Decrement ( temp int)
 | 
						|
0:26              'i' ( temp int)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp float)
 | 
						|
0:28          'g' ( temp float)
 | 
						|
0:28          Test condition and select ( temp float): no shortcircuit
 | 
						|
0:28            Condition
 | 
						|
0:28            Convert float to bool ( temp bool)
 | 
						|
0:28              condf: direct index for structure ( uniform float)
 | 
						|
0:28                'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:28                Constant:
 | 
						|
0:28                  0 (const uint)
 | 
						|
0:28            true case
 | 
						|
0:28            Constant:
 | 
						|
0:28              7.000000
 | 
						|
0:28            false case
 | 
						|
0:28            Constant:
 | 
						|
0:28              8.000000
 | 
						|
0:29      add second child into first child ( temp 4-component vector of float)
 | 
						|
0:29        'a' ( temp 4-component vector of float)
 | 
						|
0:29        'g' ( temp float)
 | 
						|
0:31      Branch: Return with expression
 | 
						|
0:31        subtract ( temp 4-component vector of float)
 | 
						|
0:31          'a' ( temp 4-component vector of float)
 | 
						|
0:31          Constant:
 | 
						|
0:31            1.000000
 | 
						|
0:7  Function Definition: main( ( temp void)
 | 
						|
0:7    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:7      move second child to first child ( temp 4-component vector of float)
 | 
						|
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
0:7        Function Call: @main( ( temp 4-component vector of float)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float condf,  uniform int condi,  uniform 1-component vector of float condf1,  uniform 1-component vector of int condi1})
 | 
						|
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 | 
						|
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 139
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint Fragment 4  "main" 137
 | 
						|
                              ExecutionMode 4 OriginUpperLeft
 | 
						|
                              Source HLSL 500
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 9  "@main("
 | 
						|
                              Name 12  "a"
 | 
						|
                              Name 16  "$Global"
 | 
						|
                              MemberName 16($Global) 0  "condf"
 | 
						|
                              MemberName 16($Global) 1  "condi"
 | 
						|
                              MemberName 16($Global) 2  "condf1"
 | 
						|
                              MemberName 16($Global) 3  "condi1"
 | 
						|
                              Name 18  ""
 | 
						|
                              Name 87  "f"
 | 
						|
                              Name 100  "i"
 | 
						|
                              Name 120  "g"
 | 
						|
                              Name 137  "@entryPointOutput"
 | 
						|
                              MemberDecorate 16($Global) 0 Offset 0
 | 
						|
                              MemberDecorate 16($Global) 1 Offset 4
 | 
						|
                              MemberDecorate 16($Global) 2 Offset 8
 | 
						|
                              MemberDecorate 16($Global) 3 Offset 12
 | 
						|
                              Decorate 16($Global) Block
 | 
						|
                              Decorate 18 DescriptorSet 0
 | 
						|
                              Decorate 18 Binding 0
 | 
						|
                              Decorate 137(@entryPointOutput) Location 0
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeFloat 32
 | 
						|
               7:             TypeVector 6(float) 4
 | 
						|
               8:             TypeFunction 7(fvec4)
 | 
						|
              11:             TypePointer Function 7(fvec4)
 | 
						|
              13:    6(float) Constant 1073741824
 | 
						|
              14:    7(fvec4) ConstantComposite 13 13 13 13
 | 
						|
              15:             TypeInt 32 1
 | 
						|
     16($Global):             TypeStruct 6(float) 15(int) 6(float) 15(int)
 | 
						|
              17:             TypePointer Uniform 16($Global)
 | 
						|
              18:     17(ptr) Variable Uniform
 | 
						|
              19:     15(int) Constant 1
 | 
						|
              20:             TypePointer Uniform 15(int)
 | 
						|
              23:             TypeBool
 | 
						|
              24:             TypeInt 32 0
 | 
						|
              25:     24(int) Constant 0
 | 
						|
              30:    6(float) Constant 1065353216
 | 
						|
              34:     15(int) Constant 0
 | 
						|
              35:             TypePointer Uniform 6(float)
 | 
						|
              38:    6(float) Constant 0
 | 
						|
              46:     15(int) Constant 2
 | 
						|
              53:    6(float) Constant 1077936128
 | 
						|
              57:     15(int) Constant 3
 | 
						|
              64:    6(float) Constant 1082130432
 | 
						|
              82:    6(float) Constant 1084227584
 | 
						|
              86:             TypePointer Function 6(float)
 | 
						|
              99:             TypePointer Function 15(int)
 | 
						|
             124:    6(float) Constant 1088421888
 | 
						|
             125:    6(float) Constant 1090519040
 | 
						|
             136:             TypePointer Output 7(fvec4)
 | 
						|
137(@entryPointOutput):    136(ptr) Variable Output
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
             138:    7(fvec4) FunctionCall 9(@main()
 | 
						|
                              Store 137(@entryPointOutput) 138
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 | 
						|
       9(@main():    7(fvec4) Function None 8
 | 
						|
              10:             Label
 | 
						|
           12(a):     11(ptr) Variable Function
 | 
						|
           87(f):     86(ptr) Variable Function
 | 
						|
          100(i):     99(ptr) Variable Function
 | 
						|
          120(g):     86(ptr) Variable Function
 | 
						|
                              Store 12(a) 14
 | 
						|
              21:     20(ptr) AccessChain 18 19
 | 
						|
              22:     15(int) Load 21
 | 
						|
              26:    23(bool) INotEqual 22 25
 | 
						|
                              SelectionMerge 28 None
 | 
						|
                              BranchConditional 26 27 28
 | 
						|
              27:               Label
 | 
						|
              29:    7(fvec4)   Load 12(a)
 | 
						|
              31:    7(fvec4)   CompositeConstruct 30 30 30 30
 | 
						|
              32:    7(fvec4)   FAdd 29 31
 | 
						|
                                ReturnValue 32
 | 
						|
              28:             Label
 | 
						|
              36:     35(ptr) AccessChain 18 34
 | 
						|
              37:    6(float) Load 36
 | 
						|
              39:    23(bool) FUnordNotEqual 37 38
 | 
						|
                              SelectionMerge 41 None
 | 
						|
                              BranchConditional 39 40 41
 | 
						|
              40:               Label
 | 
						|
              42:    7(fvec4)   Load 12(a)
 | 
						|
              43:    7(fvec4)   CompositeConstruct 13 13 13 13
 | 
						|
              44:    7(fvec4)   FAdd 42 43
 | 
						|
                                ReturnValue 44
 | 
						|
              41:             Label
 | 
						|
              47:     35(ptr) AccessChain 18 46
 | 
						|
              48:    6(float) Load 47
 | 
						|
              49:    23(bool) FUnordNotEqual 48 38
 | 
						|
                              SelectionMerge 51 None
 | 
						|
                              BranchConditional 49 50 51
 | 
						|
              50:               Label
 | 
						|
              52:    7(fvec4)   Load 12(a)
 | 
						|
              54:    7(fvec4)   CompositeConstruct 53 53 53 53
 | 
						|
              55:    7(fvec4)   FAdd 52 54
 | 
						|
                                ReturnValue 55
 | 
						|
              51:             Label
 | 
						|
              58:     20(ptr) AccessChain 18 57
 | 
						|
              59:     15(int) Load 58
 | 
						|
              60:    23(bool) INotEqual 59 25
 | 
						|
                              SelectionMerge 62 None
 | 
						|
                              BranchConditional 60 61 62
 | 
						|
              61:               Label
 | 
						|
              63:    7(fvec4)   Load 12(a)
 | 
						|
              65:    7(fvec4)   CompositeConstruct 64 64 64 64
 | 
						|
              66:    7(fvec4)   FAdd 63 65
 | 
						|
                                ReturnValue 66
 | 
						|
              62:             Label
 | 
						|
              68:     20(ptr) AccessChain 18 19
 | 
						|
              69:     15(int) Load 68
 | 
						|
              70:    23(bool) INotEqual 69 25
 | 
						|
              71:     35(ptr) AccessChain 18 34
 | 
						|
              72:    6(float) Load 71
 | 
						|
              73:    23(bool) FUnordNotEqual 72 38
 | 
						|
              74:    23(bool) LogicalAnd 70 73
 | 
						|
              75:     35(ptr) AccessChain 18 46
 | 
						|
              76:    6(float) Load 75
 | 
						|
              77:    23(bool) FUnordNotEqual 76 38
 | 
						|
              78:    23(bool) LogicalOr 74 77
 | 
						|
                              SelectionMerge 80 None
 | 
						|
                              BranchConditional 78 79 80
 | 
						|
              79:               Label
 | 
						|
              81:    7(fvec4)   Load 12(a)
 | 
						|
              83:    7(fvec4)   CompositeConstruct 82 82 82 82
 | 
						|
              84:    7(fvec4)   FAdd 81 83
 | 
						|
                                ReturnValue 84
 | 
						|
              80:             Label
 | 
						|
              88:     35(ptr) AccessChain 18 34
 | 
						|
              89:    6(float) Load 88
 | 
						|
                              Store 87(f) 89
 | 
						|
                              Branch 90
 | 
						|
              90:             Label
 | 
						|
                              LoopMerge 92 93 None
 | 
						|
                              Branch 94
 | 
						|
              94:             Label
 | 
						|
              95:    6(float) Load 87(f)
 | 
						|
              96:    23(bool) FUnordNotEqual 95 38
 | 
						|
                              BranchConditional 96 91 92
 | 
						|
              91:               Label
 | 
						|
              97:    6(float)   Load 87(f)
 | 
						|
              98:    6(float)   FSub 97 30
 | 
						|
                                Store 87(f) 98
 | 
						|
                                Branch 93
 | 
						|
              93:               Label
 | 
						|
                                Branch 90
 | 
						|
              92:             Label
 | 
						|
             101:     20(ptr) AccessChain 18 19
 | 
						|
             102:     15(int) Load 101
 | 
						|
                              Store 100(i) 102
 | 
						|
                              Branch 103
 | 
						|
             103:             Label
 | 
						|
                              LoopMerge 105 106 None
 | 
						|
                              Branch 104
 | 
						|
             104:             Label
 | 
						|
             107:     15(int) Load 100(i)
 | 
						|
             108:     15(int) ISub 107 19
 | 
						|
                              Store 100(i) 108
 | 
						|
                              Branch 106
 | 
						|
             106:             Label
 | 
						|
             109:     15(int) Load 100(i)
 | 
						|
             110:    23(bool) INotEqual 109 25
 | 
						|
                              BranchConditional 110 103 105
 | 
						|
             105:             Label
 | 
						|
                              Branch 111
 | 
						|
             111:             Label
 | 
						|
                              LoopMerge 113 114 None
 | 
						|
                              Branch 115
 | 
						|
             115:             Label
 | 
						|
             116:     15(int) Load 100(i)
 | 
						|
             117:    23(bool) INotEqual 116 25
 | 
						|
                              BranchConditional 117 112 113
 | 
						|
             112:               Label
 | 
						|
             118:     15(int)   Load 100(i)
 | 
						|
             119:     15(int)   ISub 118 19
 | 
						|
                                Store 100(i) 119
 | 
						|
                                Branch 114
 | 
						|
             114:               Label
 | 
						|
                                Branch 111
 | 
						|
             113:             Label
 | 
						|
             121:     35(ptr) AccessChain 18 34
 | 
						|
             122:    6(float) Load 121
 | 
						|
             123:    23(bool) FUnordNotEqual 122 38
 | 
						|
             126:    6(float) Select 123 124 125
 | 
						|
                              Store 120(g) 126
 | 
						|
             127:    6(float) Load 120(g)
 | 
						|
             128:    7(fvec4) Load 12(a)
 | 
						|
             129:    7(fvec4) CompositeConstruct 127 127 127 127
 | 
						|
             130:    7(fvec4) FAdd 128 129
 | 
						|
                              Store 12(a) 130
 | 
						|
             131:    7(fvec4) Load 12(a)
 | 
						|
             132:    7(fvec4) CompositeConstruct 30 30 30 30
 | 
						|
             133:    7(fvec4) FSub 131 132
 | 
						|
                              ReturnValue 133
 | 
						|
                              FunctionEnd
 |