hlsl.spv.1.6.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 10600 // Generated by (magic number): 8000b // Id's are bound by 47 Capability Shader Capability DemoteToHelperInvocationEXT 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "PixelShaderFunction" 42 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "PixelShaderFunction" Name 10 "foo(f1;" Name 9 "f" Name 16 "@PixelShaderFunction(vf4;" Name 15 "input" Name 24 "param" Name 37 "f" Name 40 "input" Name 42 "input" Name 44 "param" Decorate 42(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 25: TypeInt 32 0 26: 25(int) Constant 2 30: 25(int) Constant 0 33: 6(float) Constant 0 41: TypePointer Input 12(fvec4) 42(input): 41(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label 40(input): 13(ptr) Variable Function 44(param): 13(ptr) Variable Function 43: 12(fvec4) Load 42(input) Store 40(input) 43 45: 12(fvec4) Load 40(input) Store 44(param) 45 46: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 44(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 DemoteToHelperInvocationEXT Branch 23 23: Label Return FunctionEnd 16(@PixelShaderFunction(vf4;): 2 Function None 14 15(input): 13(ptr) FunctionParameter 17: Label 24(param): 7(ptr) Variable Function 37(f): 7(ptr) Variable Function 27: 7(ptr) AccessChain 15(input) 26 28: 6(float) Load 27 Store 24(param) 28 29: 2 FunctionCall 10(foo(f1;) 24(param) 31: 7(ptr) AccessChain 15(input) 30 32: 6(float) Load 31 34: 20(bool) FUnordNotEqual 32 33 SelectionMerge 36 None BranchConditional 34 35 36 35: Label DemoteToHelperInvocationEXT Branch 36 36: Label 38: 7(ptr) AccessChain 15(input) 30 39: 6(float) Load 38 Store 37(f) 39 DemoteToHelperInvocationEXT Return FunctionEnd