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