hlsl.discard.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo(f1; ( temp void) 0:2 Function Parameters: 0:2 'f' ( in float) 0:? Sequence 0:3 Test condition and select ( temp void) 0:3 Condition 0:3 Compare Less Than ( temp bool) 0:3 'f' ( in float) 0:3 Constant: 0:3 1.000000 0:3 true case 0:4 Branch: Kill 0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:8 Function Parameters: 0:8 'input' ( in 4-component vector of float) 0:? Sequence 0:9 Function Call: foo(f1; ( temp void) 0:9 direct index ( temp float) 0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) 0:10 Test condition and select ( temp void) 0:10 Condition 0:10 Convert float to bool ( temp bool) 0:10 direct index ( temp float) 0:10 'input' ( in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case 0:11 Branch: Kill 0:12 Sequence 0:12 move second child to first child ( temp float) 0:12 'f' ( temp float) 0:12 direct index ( temp float) 0:12 'input' ( in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill 0:8 Function Definition: PixelShaderFunction( ( temp void) 0:8 Function Parameters: 0:? Sequence 0:8 move second child to first child ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) 0:8 Function Call: @PixelShaderFunction(vf4; ( temp void) 0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:2 Function Definition: foo(f1; ( temp void) 0:2 Function Parameters: 0:2 'f' ( in float) 0:? Sequence 0:3 Test condition and select ( temp void) 0:3 Condition 0:3 Compare Less Than ( temp bool) 0:3 'f' ( in float) 0:3 Constant: 0:3 1.000000 0:3 true case 0:4 Branch: Kill 0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:8 Function Parameters: 0:8 'input' ( in 4-component vector of float) 0:? Sequence 0:9 Function Call: foo(f1; ( temp void) 0:9 direct index ( temp float) 0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) 0:10 Test condition and select ( temp void) 0:10 Condition 0:10 Convert float to bool ( temp bool) 0:10 direct index ( temp float) 0:10 'input' ( in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case 0:11 Branch: Kill 0:12 Sequence 0:12 move second child to first child ( temp float) 0:12 'f' ( temp float) 0:12 direct index ( temp float) 0:12 'input' ( in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill 0:8 Function Definition: PixelShaderFunction( ( temp void) 0:8 Function Parameters: 0:? Sequence 0:8 move second child to first child ( temp 4-component vector of float) 0:? 'input' ( temp 4-component vector of float) 0:? 'input' (layout( location=0) in 4-component vector of float) 0:8 Function Call: @PixelShaderFunction(vf4; ( temp void) 0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects 0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 45 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "PixelShaderFunction" Name 10 "foo(f1;" Name 9 "f" Name 16 "@PixelShaderFunction(vf4;" Name 15 "input" Name 25 "param" Name 39 "f" Name 43 "input" Name 45 "input" Name 47 "param" Decorate 45(input) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 2 7(ptr) 12: TypeVector 6(float) 4 13: TypePointer Function 12(fvec4) 14: TypeFunction 2 13(ptr) 19: 6(float) Constant 1065353216 20: TypeBool 26: TypeInt 32 0 27: 26(int) Constant 2 31: 26(int) Constant 0 34: 6(float) Constant 0 44: TypePointer Input 12(fvec4) 45(input): 44(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label 43(input): 13(ptr) Variable Function 47(param): 13(ptr) Variable Function 46: 12(fvec4) Load 45(input) Store 43(input) 46 48: 12(fvec4) Load 43(input) Store 47(param) 48 49: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 47(param) Return FunctionEnd 10(foo(f1;): 2 Function None 8 9(f): 7(ptr) FunctionParameter 11: Label 18: 6(float) Load 9(f) 21: 20(bool) FOrdLessThan 18 19 SelectionMerge 23 None BranchConditional 21 22 23 22: Label Kill 23: Label Return FunctionEnd 16(@PixelShaderFunction(vf4;): 2 Function None 14 15(input): 13(ptr) FunctionParameter 17: Label 25(param): 7(ptr) Variable Function 39(f): 7(ptr) Variable Function 28: 7(ptr) AccessChain 15(input) 27 29: 6(float) Load 28 Store 25(param) 29 30: 2 FunctionCall 10(foo(f1;) 25(param) 32: 7(ptr) AccessChain 15(input) 31 33: 6(float) Load 32 35: 20(bool) FUnordNotEqual 33 34 SelectionMerge 37 None BranchConditional 35 36 37 36: Label Kill 37: Label 40: 7(ptr) AccessChain 15(input) 31 41: 6(float) Load 40 Store 39(f) 41 Kill FunctionEnd