1hlsl.spv.1.6.discard.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:2 Function Definition: foo(f1; ( temp void) 60:2 Function Parameters: 70:2 'f' ( in float) 80:? Sequence 90:3 Test condition and select ( temp void) 100:3 Condition 110:3 Compare Less Than ( temp bool) 120:3 'f' ( in float) 130:3 Constant: 140:3 1.000000 150:3 true case 160:4 Branch: Kill 170:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 180:8 Function Parameters: 190:8 'input' ( in 4-component vector of float) 200:? Sequence 210:9 Function Call: foo(f1; ( temp void) 220:9 direct index ( temp float) 230:9 'input' ( in 4-component vector of float) 240:9 Constant: 250:9 2 (const int) 260:10 Test condition and select ( temp void) 270:10 Condition 280:10 Convert float to bool ( temp bool) 290:10 direct index ( temp float) 300:10 'input' ( in 4-component vector of float) 310:10 Constant: 320:10 0 (const int) 330:10 true case 340:11 Branch: Kill 350:12 Sequence 360:12 move second child to first child ( temp float) 370:12 'f' ( temp float) 380:12 direct index ( temp float) 390:12 'input' ( in 4-component vector of float) 400:12 Constant: 410:12 0 (const int) 420:13 Branch: Kill 430:8 Function Definition: PixelShaderFunction( ( temp void) 440:8 Function Parameters: 450:? Sequence 460:8 move second child to first child ( temp 4-component vector of float) 470:? 'input' ( temp 4-component vector of float) 480:? 'input' (layout( location=0) in 4-component vector of float) 490:8 Function Call: @PixelShaderFunction(vf4; ( temp void) 500:? 'input' ( temp 4-component vector of float) 510:? Linker Objects 520:? 'input' (layout( location=0) in 4-component vector of float) 53 54 55Linked fragment stage: 56 57 58Shader version: 500 59gl_FragCoord origin is upper left 600:? Sequence 610:2 Function Definition: foo(f1; ( temp void) 620:2 Function Parameters: 630:2 'f' ( in float) 640:? Sequence 650:3 Test condition and select ( temp void) 660:3 Condition 670:3 Compare Less Than ( temp bool) 680:3 'f' ( in float) 690:3 Constant: 700:3 1.000000 710:3 true case 720:4 Branch: Kill 730:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 740:8 Function Parameters: 750:8 'input' ( in 4-component vector of float) 760:? Sequence 770:9 Function Call: foo(f1; ( temp void) 780:9 direct index ( temp float) 790:9 'input' ( in 4-component vector of float) 800:9 Constant: 810:9 2 (const int) 820:10 Test condition and select ( temp void) 830:10 Condition 840:10 Convert float to bool ( temp bool) 850:10 direct index ( temp float) 860:10 'input' ( in 4-component vector of float) 870:10 Constant: 880:10 0 (const int) 890:10 true case 900:11 Branch: Kill 910:12 Sequence 920:12 move second child to first child ( temp float) 930:12 'f' ( temp float) 940:12 direct index ( temp float) 950:12 'input' ( in 4-component vector of float) 960:12 Constant: 970:12 0 (const int) 980:13 Branch: Kill 990:8 Function Definition: PixelShaderFunction( ( temp void) 1000:8 Function Parameters: 1010:? Sequence 1020:8 move second child to first child ( temp 4-component vector of float) 1030:? 'input' ( temp 4-component vector of float) 1040:? 'input' (layout( location=0) in 4-component vector of float) 1050:8 Function Call: @PixelShaderFunction(vf4; ( temp void) 1060:? 'input' ( temp 4-component vector of float) 1070:? Linker Objects 1080:? 'input' (layout( location=0) in 4-component vector of float) 109 110// Module Version 10600 111// Generated by (magic number): 8000b 112// Id's are bound by 47 113 114 Capability Shader 115 Capability DemoteToHelperInvocationEXT 116 1: ExtInstImport "GLSL.std.450" 117 MemoryModel Logical GLSL450 118 EntryPoint Fragment 4 "PixelShaderFunction" 42 119 ExecutionMode 4 OriginUpperLeft 120 Source HLSL 500 121 Name 4 "PixelShaderFunction" 122 Name 10 "foo(f1;" 123 Name 9 "f" 124 Name 16 "@PixelShaderFunction(vf4;" 125 Name 15 "input" 126 Name 24 "param" 127 Name 37 "f" 128 Name 40 "input" 129 Name 42 "input" 130 Name 44 "param" 131 Decorate 42(input) Location 0 132 2: TypeVoid 133 3: TypeFunction 2 134 6: TypeFloat 32 135 7: TypePointer Function 6(float) 136 8: TypeFunction 2 7(ptr) 137 12: TypeVector 6(float) 4 138 13: TypePointer Function 12(fvec4) 139 14: TypeFunction 2 13(ptr) 140 19: 6(float) Constant 1065353216 141 20: TypeBool 142 25: TypeInt 32 0 143 26: 25(int) Constant 2 144 30: 25(int) Constant 0 145 33: 6(float) Constant 0 146 41: TypePointer Input 12(fvec4) 147 42(input): 41(ptr) Variable Input 1484(PixelShaderFunction): 2 Function None 3 149 5: Label 150 40(input): 13(ptr) Variable Function 151 44(param): 13(ptr) Variable Function 152 43: 12(fvec4) Load 42(input) 153 Store 40(input) 43 154 45: 12(fvec4) Load 40(input) 155 Store 44(param) 45 156 46: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 44(param) 157 Return 158 FunctionEnd 159 10(foo(f1;): 2 Function None 8 160 9(f): 7(ptr) FunctionParameter 161 11: Label 162 18: 6(float) Load 9(f) 163 21: 20(bool) FOrdLessThan 18 19 164 SelectionMerge 23 None 165 BranchConditional 21 22 23 166 22: Label 167 DemoteToHelperInvocationEXT 168 Branch 23 169 23: Label 170 Return 171 FunctionEnd 17216(@PixelShaderFunction(vf4;): 2 Function None 14 173 15(input): 13(ptr) FunctionParameter 174 17: Label 175 24(param): 7(ptr) Variable Function 176 37(f): 7(ptr) Variable Function 177 27: 7(ptr) AccessChain 15(input) 26 178 28: 6(float) Load 27 179 Store 24(param) 28 180 29: 2 FunctionCall 10(foo(f1;) 24(param) 181 31: 7(ptr) AccessChain 15(input) 30 182 32: 6(float) Load 31 183 34: 20(bool) FUnordNotEqual 32 33 184 SelectionMerge 36 None 185 BranchConditional 34 35 36 186 35: Label 187 DemoteToHelperInvocationEXT 188 Branch 36 189 36: Label 190 38: 7(ptr) AccessChain 15(input) 30 191 39: 6(float) Load 38 192 Store 37(f) 39 193 DemoteToHelperInvocationEXT 194 Return 195 FunctionEnd 196