hlsl.init2.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: Test1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:5 Sequence 0:5 move second child to first child ( temp structure{ temp 2-component vector of float a}) 0:5 'test1' ( temp structure{ temp 2-component vector of float a}) 0:5 Constant: 0:5 1.000000 0:5 2.000000 0:9 Sequence 0:9 move second child to first child ( temp structure{ temp 2-component vector of float a}) 0:9 'test2' ( temp structure{ temp 2-component vector of float a}) 0:9 Constant: 0:9 3.000000 0:9 4.000000 0:17 Sequence 0:17 move second child to first child ( temp float) 0:17 'test4' ( temp float) 0:17 Constant: 0:17 7.000000 0:20 Sequence 0:20 move second child to first child ( temp structure{ temp float a, temp float b, temp float c}) 0:20 'test5' ( temp structure{ temp float a, temp float b, temp float c}) 0:20 Constant: 0:20 8.000000 0:20 9.000000 0:20 10.000000 0:22 Constant: 0:22 10.000000 0:25 Sequence 0:25 move second child to first child ( temp float) 0:25 'n' ( temp float) 0:25 Constant: 0:25 0.000000 0:26 Sequence 0:26 move second child to first child ( temp 8-element array of 3-component vector of float) 0:26 'a' ( const (read only) 8-element array of 3-component vector of float) 0:26 Construct vec3 ( temp 8-element array of 3-component vector of float) 0:27 vector-scale ( temp 3-component vector of float) 0:27 Constant: 0:27 0.577350 0:27 0.577350 0:27 0.577350 0:27 add second child into first child ( temp float) 0:27 'n' ( temp float) 0:27 Constant: 0:27 1.000000 0:28 vector-scale ( temp 3-component vector of float) 0:28 Constant: 0:28 -0.577350 0:28 -0.577350 0:28 -0.577350 0:28 add second child into first child ( temp float) 0:28 'n' ( temp float) 0:28 Constant: 0:28 1.000000 0:29 vector-scale ( temp 3-component vector of float) 0:29 Constant: 0:29 -0.577350 0:29 -0.577350 0:29 0.577350 0:29 add second child into first child ( temp float) 0:29 'n' ( temp float) 0:29 Constant: 0:29 1.000000 0:30 vector-scale ( temp 3-component vector of float) 0:30 Constant: 0:30 -0.577350 0:30 0.577350 0:30 -0.577350 0:30 add second child into first child ( temp float) 0:30 'n' ( temp float) 0:30 Constant: 0:30 1.000000 0:31 vector-scale ( temp 3-component vector of float) 0:31 Constant: 0:31 -0.577350 0:31 0.577350 0:31 0.577350 0:31 add second child into first child ( temp float) 0:31 'n' ( temp float) 0:31 Constant: 0:31 1.000000 0:32 vector-scale ( temp 3-component vector of float) 0:32 Constant: 0:32 0.577350 0:32 -0.577350 0:32 -0.577350 0:32 add second child into first child ( temp float) 0:32 'n' ( temp float) 0:32 Constant: 0:32 1.000000 0:33 vector-scale ( temp 3-component vector of float) 0:33 Constant: 0:33 0.577350 0:33 -0.577350 0:33 0.577350 0:33 add second child into first child ( temp float) 0:33 'n' ( temp float) 0:33 Constant: 0:33 1.000000 0:34 vector-scale ( temp 3-component vector of float) 0:34 Constant: 0:34 0.577350 0:34 0.577350 0:34 -0.577350 0:34 add second child into first child ( temp float) 0:34 'n' ( temp float) 0:34 Constant: 0:34 1.000000 0:36 Sequence 0:36 move second child to first child ( temp structure{ temp 3-component vector of float a}) 0:36 'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a}) 0:36 Construct structure ( temp structure{ temp 3-component vector of float a}) 0:36 vector-scale ( temp 3-component vector of float) 0:36 Constant: 0:36 -0.577350 0:36 0.577350 0:36 0.577350 0:36 add second child into first child ( temp float) 0:36 'n' ( temp float) 0:36 Constant: 0:36 1.000000 0:38 Sequence 0:38 move second child to first child ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 Construct structure ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 vector-scale ( temp 3-component vector of float) 0:38 Constant: 0:38 -0.577350 0:38 0.577350 0:38 0.577350 0:38 add second child into first child ( temp float) 0:38 'n' ( temp float) 0:38 Constant: 0:38 1.000000 0:39 vector-scale ( temp 3-component vector of float) 0:39 Constant: 0:39 -0.577350 0:39 0.577350 0:39 0.577350 0:39 add second child into first child ( temp float) 0:39 'n' ( temp float) 0:39 Constant: 0:39 1.000000 0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence 0:46 Function Call: Test1( ( temp void) 0:49 move second child to first child ( temp 4-component vector of float) 0:49 color: direct index for structure ( temp 4-component vector of float) 0:49 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 1.000000 0:49 1.000000 0:49 1.000000 0:49 1.000000 0:50 Branch: Return with expression 0:50 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:45 Function Definition: main( ( temp void) 0:45 Function Parameters: 0:? Sequence 0:45 Sequence 0:45 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) 0:45 color: direct index for structure ( temp 4-component vector of float) 0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Constant: 0:45 0 (const int) 0:? Linker Objects 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:3 Function Definition: Test1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:5 Sequence 0:5 move second child to first child ( temp structure{ temp 2-component vector of float a}) 0:5 'test1' ( temp structure{ temp 2-component vector of float a}) 0:5 Constant: 0:5 1.000000 0:5 2.000000 0:9 Sequence 0:9 move second child to first child ( temp structure{ temp 2-component vector of float a}) 0:9 'test2' ( temp structure{ temp 2-component vector of float a}) 0:9 Constant: 0:9 3.000000 0:9 4.000000 0:17 Sequence 0:17 move second child to first child ( temp float) 0:17 'test4' ( temp float) 0:17 Constant: 0:17 7.000000 0:20 Sequence 0:20 move second child to first child ( temp structure{ temp float a, temp float b, temp float c}) 0:20 'test5' ( temp structure{ temp float a, temp float b, temp float c}) 0:20 Constant: 0:20 8.000000 0:20 9.000000 0:20 10.000000 0:22 Constant: 0:22 10.000000 0:25 Sequence 0:25 move second child to first child ( temp float) 0:25 'n' ( temp float) 0:25 Constant: 0:25 0.000000 0:26 Sequence 0:26 move second child to first child ( temp 8-element array of 3-component vector of float) 0:26 'a' ( const (read only) 8-element array of 3-component vector of float) 0:26 Construct vec3 ( temp 8-element array of 3-component vector of float) 0:27 vector-scale ( temp 3-component vector of float) 0:27 Constant: 0:27 0.577350 0:27 0.577350 0:27 0.577350 0:27 add second child into first child ( temp float) 0:27 'n' ( temp float) 0:27 Constant: 0:27 1.000000 0:28 vector-scale ( temp 3-component vector of float) 0:28 Constant: 0:28 -0.577350 0:28 -0.577350 0:28 -0.577350 0:28 add second child into first child ( temp float) 0:28 'n' ( temp float) 0:28 Constant: 0:28 1.000000 0:29 vector-scale ( temp 3-component vector of float) 0:29 Constant: 0:29 -0.577350 0:29 -0.577350 0:29 0.577350 0:29 add second child into first child ( temp float) 0:29 'n' ( temp float) 0:29 Constant: 0:29 1.000000 0:30 vector-scale ( temp 3-component vector of float) 0:30 Constant: 0:30 -0.577350 0:30 0.577350 0:30 -0.577350 0:30 add second child into first child ( temp float) 0:30 'n' ( temp float) 0:30 Constant: 0:30 1.000000 0:31 vector-scale ( temp 3-component vector of float) 0:31 Constant: 0:31 -0.577350 0:31 0.577350 0:31 0.577350 0:31 add second child into first child ( temp float) 0:31 'n' ( temp float) 0:31 Constant: 0:31 1.000000 0:32 vector-scale ( temp 3-component vector of float) 0:32 Constant: 0:32 0.577350 0:32 -0.577350 0:32 -0.577350 0:32 add second child into first child ( temp float) 0:32 'n' ( temp float) 0:32 Constant: 0:32 1.000000 0:33 vector-scale ( temp 3-component vector of float) 0:33 Constant: 0:33 0.577350 0:33 -0.577350 0:33 0.577350 0:33 add second child into first child ( temp float) 0:33 'n' ( temp float) 0:33 Constant: 0:33 1.000000 0:34 vector-scale ( temp 3-component vector of float) 0:34 Constant: 0:34 0.577350 0:34 0.577350 0:34 -0.577350 0:34 add second child into first child ( temp float) 0:34 'n' ( temp float) 0:34 Constant: 0:34 1.000000 0:36 Sequence 0:36 move second child to first child ( temp structure{ temp 3-component vector of float a}) 0:36 'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a}) 0:36 Construct structure ( temp structure{ temp 3-component vector of float a}) 0:36 vector-scale ( temp 3-component vector of float) 0:36 Constant: 0:36 -0.577350 0:36 0.577350 0:36 0.577350 0:36 add second child into first child ( temp float) 0:36 'n' ( temp float) 0:36 Constant: 0:36 1.000000 0:38 Sequence 0:38 move second child to first child ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 Construct structure ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) 0:38 vector-scale ( temp 3-component vector of float) 0:38 Constant: 0:38 -0.577350 0:38 0.577350 0:38 0.577350 0:38 add second child into first child ( temp float) 0:38 'n' ( temp float) 0:38 Constant: 0:38 1.000000 0:39 vector-scale ( temp 3-component vector of float) 0:39 Constant: 0:39 -0.577350 0:39 0.577350 0:39 0.577350 0:39 add second child into first child ( temp float) 0:39 'n' ( temp float) 0:39 Constant: 0:39 1.000000 0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence 0:46 Function Call: Test1( ( temp void) 0:49 move second child to first child ( temp 4-component vector of float) 0:49 color: direct index for structure ( temp 4-component vector of float) 0:49 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 1.000000 0:49 1.000000 0:49 1.000000 0:49 1.000000 0:50 Branch: Return with expression 0:50 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:45 Function Definition: main( ( temp void) 0:45 Function Parameters: 0:? Sequence 0:45 Sequence 0:45 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) 0:45 color: direct index for structure ( temp 4-component vector of float) 0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Constant: 0:45 0 (const int) 0:? Linker Objects 0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 112 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 6 "Test1(" Name 10 "PS_OUTPUT" MemberName 10(PS_OUTPUT) 0 "color" Name 12 "@main(" Name 15 "mystruct" MemberName 15(mystruct) 0 "a" Name 17 "test1" Name 22 "test2" Name 28 "test4" Name 30 "mystruct2" MemberName 30(mystruct2) 0 "a" MemberName 30(mystruct2) 1 "b" MemberName 30(mystruct2) 2 "c" Name 32 "test5" Name 37 "n" Name 44 "a" Name 80 "one" MemberName 80(one) 0 "a" Name 82 "oneNonConst" Name 87 "two" MemberName 87(two) 0 "a" MemberName 87(two) 1 "b" Name 89 "twoNonConst" Name 99 "ps_output" Name 109 "@entryPointOutput.color" Decorate 109(@entryPointOutput.color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 9: TypeVector 8(float) 4 10(PS_OUTPUT): TypeStruct 9(fvec4) 11: TypeFunction 10(PS_OUTPUT) 14: TypeVector 8(float) 2 15(mystruct): TypeStruct 14(fvec2) 16: TypePointer Function 15(mystruct) 18: 8(float) Constant 1065353216 19: 8(float) Constant 1073741824 20: 14(fvec2) ConstantComposite 18 19 21:15(mystruct) ConstantComposite 20 23: 8(float) Constant 1077936128 24: 8(float) Constant 1082130432 25: 14(fvec2) ConstantComposite 23 24 26:15(mystruct) ConstantComposite 25 27: TypePointer Function 8(float) 29: 8(float) Constant 1088421888 30(mystruct2): TypeStruct 8(float) 8(float) 8(float) 31: TypePointer Function 30(mystruct2) 33: 8(float) Constant 1090519040 34: 8(float) Constant 1091567616 35: 8(float) Constant 1092616192 36:30(mystruct2) ConstantComposite 33 34 35 38: 8(float) Constant 0 39: TypeVector 8(float) 3 40: TypeInt 32 0 41: 40(int) Constant 8 42: TypeArray 39(fvec3) 41 43: TypePointer Function 42 45: 8(float) Constant 1058262330 46: 39(fvec3) ConstantComposite 45 45 45 50: 8(float) Constant 3205745978 51: 39(fvec3) ConstantComposite 50 50 50 55: 39(fvec3) ConstantComposite 50 50 45 59: 39(fvec3) ConstantComposite 50 45 50 63: 39(fvec3) ConstantComposite 50 45 45 67: 39(fvec3) ConstantComposite 45 50 50 71: 39(fvec3) ConstantComposite 45 50 45 75: 39(fvec3) ConstantComposite 45 45 50 80(one): TypeStruct 39(fvec3) 81: TypePointer Function 80(one) 87(two): TypeStruct 39(fvec3) 39(fvec3) 88: TypePointer Function 87(two) 98: TypePointer Function 10(PS_OUTPUT) 100: TypeInt 32 1 101: 100(int) Constant 0 102: 9(fvec4) ConstantComposite 18 18 18 18 103: TypePointer Function 9(fvec4) 108: TypePointer Output 9(fvec4) 109(@entryPointOutput.color): 108(ptr) Variable Output 4(main): 2 Function None 3 5: Label 110:10(PS_OUTPUT) FunctionCall 12(@main() 111: 9(fvec4) CompositeExtract 110 0 Store 109(@entryPointOutput.color) 111 Return FunctionEnd 6(Test1(): 2 Function None 3 7: Label 17(test1): 16(ptr) Variable Function 22(test2): 16(ptr) Variable Function 28(test4): 27(ptr) Variable Function 32(test5): 31(ptr) Variable Function 37(n): 27(ptr) Variable Function 44(a): 43(ptr) Variable Function 82(oneNonConst): 81(ptr) Variable Function 89(twoNonConst): 88(ptr) Variable Function Store 17(test1) 21 Store 22(test2) 26 Store 28(test4) 29 Store 32(test5) 36 Store 37(n) 38 47: 8(float) Load 37(n) 48: 8(float) FAdd 47 18 Store 37(n) 48 49: 39(fvec3) VectorTimesScalar 46 48 52: 8(float) Load 37(n) 53: 8(float) FAdd 52 18 Store 37(n) 53 54: 39(fvec3) VectorTimesScalar 51 53 56: 8(float) Load 37(n) 57: 8(float) FAdd 56 18 Store 37(n) 57 58: 39(fvec3) VectorTimesScalar 55 57 60: 8(float) Load 37(n) 61: 8(float) FAdd 60 18 Store 37(n) 61 62: 39(fvec3) VectorTimesScalar 59 61 64: 8(float) Load 37(n) 65: 8(float) FAdd 64 18 Store 37(n) 65 66: 39(fvec3) VectorTimesScalar 63 65 68: 8(float) Load 37(n) 69: 8(float) FAdd 68 18 Store 37(n) 69 70: 39(fvec3) VectorTimesScalar 67 69 72: 8(float) Load 37(n) 73: 8(float) FAdd 72 18 Store 37(n) 73 74: 39(fvec3) VectorTimesScalar 71 73 76: 8(float) Load 37(n) 77: 8(float) FAdd 76 18 Store 37(n) 77 78: 39(fvec3) VectorTimesScalar 75 77 79: 42 CompositeConstruct 49 54 58 62 66 70 74 78 Store 44(a) 79 83: 8(float) Load 37(n) 84: 8(float) FAdd 83 18 Store 37(n) 84 85: 39(fvec3) VectorTimesScalar 63 84 86: 80(one) CompositeConstruct 85 Store 82(oneNonConst) 86 90: 8(float) Load 37(n) 91: 8(float) FAdd 90 18 Store 37(n) 91 92: 39(fvec3) VectorTimesScalar 63 91 93: 8(float) Load 37(n) 94: 8(float) FAdd 93 18 Store 37(n) 94 95: 39(fvec3) VectorTimesScalar 63 94 96: 87(two) CompositeConstruct 92 95 Store 89(twoNonConst) 96 Return FunctionEnd 12(@main():10(PS_OUTPUT) Function None 11 13: Label 99(ps_output): 98(ptr) Variable Function 97: 2 FunctionCall 6(Test1() 104: 103(ptr) AccessChain 99(ps_output) 101 Store 104 102 105:10(PS_OUTPUT) Load 99(ps_output) ReturnValue 105 FunctionEnd