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 int to bool ( temp bool)
0:17              Convert float to int ( temp int)
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)
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 int to bool ( temp bool)
0:17              Convert float to int ( temp int)
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)
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): 80001
// Id's are bound by 140

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 138
                              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 88  "f"
                              Name 101  "i"
                              Name 121  "g"
                              Name 138  "@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 138(@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
              83:    6(float) Constant 1084227584
              87:             TypePointer Function 6(float)
             100:             TypePointer Function 15(int)
             125:    6(float) Constant 1088421888
             126:    6(float) Constant 1090519040
             137:             TypePointer Output 7(fvec4)
138(@entryPointOutput):    137(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
             139:    7(fvec4) FunctionCall 9(@main()
                              Store 138(@entryPointOutput) 139
                              Return
                              FunctionEnd
       9(@main():    7(fvec4) Function None 8
              10:             Label
           12(a):     11(ptr) Variable Function
           88(f):     87(ptr) Variable Function
          101(i):    100(ptr) Variable Function
          121(g):     87(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:     15(int) ConvertFToS 72
              74:    23(bool) INotEqual 73 25
              75:    23(bool) LogicalAnd 70 74
              76:     35(ptr) AccessChain 18 46
              77:    6(float) Load 76
              78:    23(bool) FOrdNotEqual 77 38
              79:    23(bool) LogicalOr 75 78
                              SelectionMerge 81 None
                              BranchConditional 79 80 81
              80:               Label
              82:    7(fvec4)   Load 12(a)
              84:    7(fvec4)   CompositeConstruct 83 83 83 83
              85:    7(fvec4)   FAdd 82 84
                                ReturnValue 85
              81:             Label
              89:     35(ptr) AccessChain 18 34
              90:    6(float) Load 89
                              Store 88(f) 90
                              Branch 91
              91:             Label
                              LoopMerge 93 94 None
                              Branch 95
              95:             Label
              96:    6(float) Load 88(f)
              97:    23(bool) FOrdNotEqual 96 38
                              BranchConditional 97 92 93
              92:               Label
              98:    6(float)   Load 88(f)
              99:    6(float)   FSub 98 30
                                Store 88(f) 99
                                Branch 94
              94:               Label
                                Branch 91
              93:             Label
             102:     20(ptr) AccessChain 18 19
             103:     15(int) Load 102
                              Store 101(i) 103
                              Branch 104
             104:             Label
                              LoopMerge 106 107 None
                              Branch 105
             105:             Label
             108:     15(int) Load 101(i)
             109:     15(int) ISub 108 19
                              Store 101(i) 109
                              Branch 107
             107:             Label
             110:     15(int) Load 101(i)
             111:    23(bool) INotEqual 110 25
                              BranchConditional 111 104 106
             106:             Label
                              Branch 112
             112:             Label
                              LoopMerge 114 115 None
                              Branch 116
             116:             Label
             117:     15(int) Load 101(i)
             118:    23(bool) INotEqual 117 25
                              BranchConditional 118 113 114
             113:               Label
             119:     15(int)   Load 101(i)
             120:     15(int)   ISub 119 19
                                Store 101(i) 120
                                Branch 115
             115:               Label
                                Branch 112
             114:             Label
             122:     35(ptr) AccessChain 18 34
             123:    6(float) Load 122
             124:    23(bool) FOrdNotEqual 123 38
             127:    6(float) Select 124 125 126
                              Store 121(g) 127
             128:    6(float) Load 121(g)
             129:    7(fvec4) Load 12(a)
             130:    7(fvec4) CompositeConstruct 128 128 128 128
             131:    7(fvec4) FAdd 129 130
                              Store 12(a) 131
             132:    7(fvec4) Load 12(a)
             133:    7(fvec4) CompositeConstruct 30 30 30 30
             134:    7(fvec4) FSub 132 133
                              ReturnValue 134
                              FunctionEnd
