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): 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 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): 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): 80005
// 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
