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:?           Constant:
 | |
| 0:?             2.000000
 | |
| 0:?             2.000000
 | |
| 0:?             2.000000
 | |
| 0:?             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:?           Constant:
 | |
| 0:?             2.000000
 | |
| 0:?             2.000000
 | |
| 0:?             2.000000
 | |
| 0:?             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): 80007
 | |
| // 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) FOrdNotEqual 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) FOrdNotEqual 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) FOrdNotEqual 72 38
 | |
|               74:    23(bool) LogicalAnd 70 73
 | |
|               75:     35(ptr) AccessChain 18 46
 | |
|               76:    6(float) Load 75
 | |
|               77:    23(bool) FOrdNotEqual 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) FOrdNotEqual 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) FOrdNotEqual 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
 | 
