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): 80002 // 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