| hlsl.entry-out.frag |
| Shader version: 500 |
| gl_FragCoord origin is upper left |
| 0:? Sequence |
| 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) |
| 0:7 Function Parameters: |
| 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? Sequence |
| 0:8 move second child to first child ( temp 2-component vector of float) |
| 0:8 v: direct index for structure ( temp 2-component vector of float) |
| 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:8 Constant: |
| 0:8 0 (const int) |
| 0:8 Constant: |
| 0:8 0.400000 |
| 0:8 0.400000 |
| 0:9 move second child to first child ( temp 2-component vector of int) |
| 0:9 i: direct index for structure ( temp 2-component vector of int) |
| 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:9 Constant: |
| 0:9 1 (const int) |
| 0:9 Constant: |
| 0:9 7 (const int) |
| 0:9 7 (const int) |
| 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) |
| 0:13 Function Parameters: |
| 0:13 'input' ( in 4-component vector of float) |
| 0:13 'out1' ( out 4-component vector of float) |
| 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? Sequence |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 'out1' ( out 4-component vector of float) |
| 0:14 'input' ( in 4-component vector of float) |
| 0:15 move second child to first child ( temp 2-component vector of float) |
| 0:15 v: direct index for structure ( temp 2-component vector of float) |
| 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 Constant: |
| 0:15 2.000000 |
| 0:15 2.000000 |
| 0:16 move second child to first child ( temp 2-component vector of int) |
| 0:16 i: direct index for structure ( temp 2-component vector of int) |
| 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:16 Constant: |
| 0:16 3 (const int) |
| 0:16 3 (const int) |
| 0:18 move second child to first child ( temp 2-component vector of float) |
| 0:18 v: direct index for structure ( temp 2-component vector of float) |
| 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 Constant: |
| 0:18 12.000000 |
| 0:18 12.000000 |
| 0:19 move second child to first child ( temp 2-component vector of int) |
| 0:19 i: direct index for structure ( temp 2-component vector of int) |
| 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:19 Constant: |
| 0:19 1 (const int) |
| 0:19 Constant: |
| 0:19 13 (const int) |
| 0:19 13 (const int) |
| 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) |
| 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:22 Branch: Return with expression |
| 0:22 'out1' ( out 4-component vector of float) |
| 0:13 Function Definition: PixelShaderFunction( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 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:13 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) |
| 0:? 'input' ( temp 4-component vector of float) |
| 0:? 'out1' ( temp 4-component vector of float) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 move second child to first child ( temp 4-component vector of float) |
| 0:? 'out1' (layout( location=1) out 4-component vector of float) |
| 0:? 'out1' ( temp 4-component vector of float) |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of float) |
| 0:? 'out2.v' (layout( location=2) out 2-component vector of float) |
| 0:13 v: direct index for structure ( temp 2-component vector of float) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 0 (const int) |
| 0:13 move second child to first child ( temp 2-component vector of int) |
| 0:? 'out2.i' (layout( location=3) out 2-component vector of int) |
| 0:13 i: direct index for structure ( temp 2-component vector of int) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 1 (const int) |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of float) |
| 0:? 'out3.v' (layout( location=4) out 2-component vector of float) |
| 0:13 v: direct index for structure ( temp 2-component vector of float) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 0 (const int) |
| 0:13 move second child to first child ( temp 2-component vector of int) |
| 0:? 'out3.i' (layout( location=5) out 2-component vector of int) |
| 0:13 i: direct index for structure ( temp 2-component vector of int) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 1 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'input' (layout( location=0) in 4-component vector of float) |
| 0:? 'out1' (layout( location=1) out 4-component vector of float) |
| 0:? 'out2.v' (layout( location=2) out 2-component vector of float) |
| 0:? 'out2.i' (layout( location=3) out 2-component vector of int) |
| 0:? 'out3.v' (layout( location=4) out 2-component vector of float) |
| 0:? 'out3.i' (layout( location=5) out 2-component vector of int) |
| |
| |
| Linked fragment stage: |
| |
| |
| Shader version: 500 |
| gl_FragCoord origin is upper left |
| 0:? Sequence |
| 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) |
| 0:7 Function Parameters: |
| 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? Sequence |
| 0:8 move second child to first child ( temp 2-component vector of float) |
| 0:8 v: direct index for structure ( temp 2-component vector of float) |
| 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:8 Constant: |
| 0:8 0 (const int) |
| 0:8 Constant: |
| 0:8 0.400000 |
| 0:8 0.400000 |
| 0:9 move second child to first child ( temp 2-component vector of int) |
| 0:9 i: direct index for structure ( temp 2-component vector of int) |
| 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:9 Constant: |
| 0:9 1 (const int) |
| 0:9 Constant: |
| 0:9 7 (const int) |
| 0:9 7 (const int) |
| 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) |
| 0:13 Function Parameters: |
| 0:13 'input' ( in 4-component vector of float) |
| 0:13 'out1' ( out 4-component vector of float) |
| 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? Sequence |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:14 'out1' ( out 4-component vector of float) |
| 0:14 'input' ( in 4-component vector of float) |
| 0:15 move second child to first child ( temp 2-component vector of float) |
| 0:15 v: direct index for structure ( temp 2-component vector of float) |
| 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 Constant: |
| 0:15 2.000000 |
| 0:15 2.000000 |
| 0:16 move second child to first child ( temp 2-component vector of int) |
| 0:16 i: direct index for structure ( temp 2-component vector of int) |
| 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:16 Constant: |
| 0:16 1 (const int) |
| 0:16 Constant: |
| 0:16 3 (const int) |
| 0:16 3 (const int) |
| 0:18 move second child to first child ( temp 2-component vector of float) |
| 0:18 v: direct index for structure ( temp 2-component vector of float) |
| 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:18 Constant: |
| 0:18 0 (const int) |
| 0:18 Constant: |
| 0:18 12.000000 |
| 0:18 12.000000 |
| 0:19 move second child to first child ( temp 2-component vector of int) |
| 0:19 i: direct index for structure ( temp 2-component vector of int) |
| 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:19 Constant: |
| 0:19 1 (const int) |
| 0:19 Constant: |
| 0:19 13 (const int) |
| 0:19 13 (const int) |
| 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) |
| 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:22 Branch: Return with expression |
| 0:22 'out1' ( out 4-component vector of float) |
| 0:13 Function Definition: PixelShaderFunction( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 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:13 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) |
| 0:? 'input' ( temp 4-component vector of float) |
| 0:? 'out1' ( temp 4-component vector of float) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 move second child to first child ( temp 4-component vector of float) |
| 0:? 'out1' (layout( location=1) out 4-component vector of float) |
| 0:? 'out1' ( temp 4-component vector of float) |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of float) |
| 0:? 'out2.v' (layout( location=2) out 2-component vector of float) |
| 0:13 v: direct index for structure ( temp 2-component vector of float) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 0 (const int) |
| 0:13 move second child to first child ( temp 2-component vector of int) |
| 0:? 'out2.i' (layout( location=3) out 2-component vector of int) |
| 0:13 i: direct index for structure ( temp 2-component vector of int) |
| 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 1 (const int) |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of float) |
| 0:? 'out3.v' (layout( location=4) out 2-component vector of float) |
| 0:13 v: direct index for structure ( temp 2-component vector of float) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 0 (const int) |
| 0:13 move second child to first child ( temp 2-component vector of int) |
| 0:? 'out3.i' (layout( location=5) out 2-component vector of int) |
| 0:13 i: direct index for structure ( temp 2-component vector of int) |
| 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) |
| 0:13 Constant: |
| 0:13 1 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) |
| 0:? 'input' (layout( location=0) in 4-component vector of float) |
| 0:? 'out1' (layout( location=1) out 4-component vector of float) |
| 0:? 'out2.v' (layout( location=2) out 2-component vector of float) |
| 0:? 'out2.i' (layout( location=3) out 2-component vector of int) |
| 0:? 'out3.v' (layout( location=4) out 2-component vector of float) |
| 0:? 'out3.i' (layout( location=5) out 2-component vector of int) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80008 |
| // Id's are bound by 89 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86 |
| ExecutionMode 4 OriginUpperLeft |
| Source HLSL 500 |
| Name 4 "PixelShaderFunction" |
| Name 10 "OutParam" |
| MemberName 10(OutParam) 0 "v" |
| MemberName 10(OutParam) 1 "i" |
| Name 14 "fun(struct-OutParam-vf2-vi21;" |
| Name 13 "op" |
| Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;" |
| Name 19 "input" |
| Name 20 "out1" |
| Name 21 "out2" |
| Name 22 "out3" |
| Name 42 "local" |
| Name 49 "param" |
| Name 55 "input" |
| Name 57 "input" |
| Name 60 "@entryPointOutput" |
| Name 61 "out1" |
| Name 62 "out2" |
| Name 63 "out3" |
| Name 64 "param" |
| Name 66 "param" |
| Name 67 "param" |
| Name 68 "param" |
| Name 73 "out1" |
| Name 76 "out2.v" |
| Name 80 "out2.i" |
| Name 83 "out3.v" |
| Name 86 "out3.i" |
| Decorate 57(input) Location 0 |
| Decorate 60(@entryPointOutput) Location 0 |
| Decorate 73(out1) Location 1 |
| Decorate 76(out2.v) Location 2 |
| Decorate 80(out2.i) Location 3 |
| Decorate 83(out3.v) Location 4 |
| Decorate 86(out3.i) Location 5 |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 2 |
| 8: TypeInt 32 1 |
| 9: TypeVector 8(int) 2 |
| 10(OutParam): TypeStruct 7(fvec2) 9(ivec2) |
| 11: TypePointer Function 10(OutParam) |
| 12: TypeFunction 2 11(ptr) |
| 16: TypeVector 6(float) 4 |
| 17: TypePointer Function 16(fvec4) |
| 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr) |
| 25: 8(int) Constant 0 |
| 26: 6(float) Constant 1053609165 |
| 27: 7(fvec2) ConstantComposite 26 26 |
| 28: TypePointer Function 7(fvec2) |
| 30: 8(int) Constant 1 |
| 31: 8(int) Constant 7 |
| 32: 9(ivec2) ConstantComposite 31 31 |
| 33: TypePointer Function 9(ivec2) |
| 36: 6(float) Constant 1073741824 |
| 37: 7(fvec2) ConstantComposite 36 36 |
| 39: 8(int) Constant 3 |
| 40: 9(ivec2) ConstantComposite 39 39 |
| 43: 6(float) Constant 1094713344 |
| 44: 7(fvec2) ConstantComposite 43 43 |
| 46: 8(int) Constant 13 |
| 47: 9(ivec2) ConstantComposite 46 46 |
| 56: TypePointer Input 16(fvec4) |
| 57(input): 56(ptr) Variable Input |
| 59: TypePointer Output 16(fvec4) |
| 60(@entryPointOutput): 59(ptr) Variable Output |
| 73(out1): 59(ptr) Variable Output |
| 75: TypePointer Output 7(fvec2) |
| 76(out2.v): 75(ptr) Variable Output |
| 79: TypePointer Output 9(ivec2) |
| 80(out2.i): 79(ptr) Variable Output |
| 83(out3.v): 75(ptr) Variable Output |
| 86(out3.i): 79(ptr) Variable Output |
| 4(PixelShaderFunction): 2 Function None 3 |
| 5: Label |
| 55(input): 17(ptr) Variable Function |
| 61(out1): 17(ptr) Variable Function |
| 62(out2): 11(ptr) Variable Function |
| 63(out3): 11(ptr) Variable Function |
| 64(param): 17(ptr) Variable Function |
| 66(param): 17(ptr) Variable Function |
| 67(param): 11(ptr) Variable Function |
| 68(param): 11(ptr) Variable Function |
| 58: 16(fvec4) Load 57(input) |
| Store 55(input) 58 |
| 65: 16(fvec4) Load 55(input) |
| Store 64(param) 65 |
| 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param) |
| 70: 16(fvec4) Load 66(param) |
| Store 61(out1) 70 |
| 71:10(OutParam) Load 67(param) |
| Store 62(out2) 71 |
| 72:10(OutParam) Load 68(param) |
| Store 63(out3) 72 |
| Store 60(@entryPointOutput) 69 |
| 74: 16(fvec4) Load 61(out1) |
| Store 73(out1) 74 |
| 77: 28(ptr) AccessChain 62(out2) 25 |
| 78: 7(fvec2) Load 77 |
| Store 76(out2.v) 78 |
| 81: 33(ptr) AccessChain 62(out2) 30 |
| 82: 9(ivec2) Load 81 |
| Store 80(out2.i) 82 |
| 84: 28(ptr) AccessChain 63(out3) 25 |
| 85: 7(fvec2) Load 84 |
| Store 83(out3.v) 85 |
| 87: 33(ptr) AccessChain 63(out3) 30 |
| 88: 9(ivec2) Load 87 |
| Store 86(out3.i) 88 |
| Return |
| FunctionEnd |
| 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12 |
| 13(op): 11(ptr) FunctionParameter |
| 15: Label |
| 29: 28(ptr) AccessChain 13(op) 25 |
| Store 29 27 |
| 34: 33(ptr) AccessChain 13(op) 30 |
| Store 34 32 |
| Return |
| FunctionEnd |
| 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18 |
| 19(input): 17(ptr) FunctionParameter |
| 20(out1): 17(ptr) FunctionParameter |
| 21(out2): 11(ptr) FunctionParameter |
| 22(out3): 11(ptr) FunctionParameter |
| 24: Label |
| 42(local): 11(ptr) Variable Function |
| 49(param): 11(ptr) Variable Function |
| 35: 16(fvec4) Load 19(input) |
| Store 20(out1) 35 |
| 38: 28(ptr) AccessChain 21(out2) 25 |
| Store 38 37 |
| 41: 33(ptr) AccessChain 21(out2) 30 |
| Store 41 40 |
| 45: 28(ptr) AccessChain 42(local) 25 |
| Store 45 44 |
| 48: 33(ptr) AccessChain 42(local) 30 |
| Store 48 47 |
| 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param) |
| 51:10(OutParam) Load 49(param) |
| Store 22(out3) 51 |
| 52: 16(fvec4) Load 20(out1) |
| ReturnValue 52 |
| FunctionEnd |