| 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 |