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
