glslang/Test/baseResults/hlsl.init2.frag.out
John Kessenich 02467d8d94 HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
2017-02-06 22:58:32 -07:00

531 lines
23 KiB
Plaintext

hlsl.init2.frag
Shader version: 450
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:? Constant:
0:? 0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? -0.577350
0:? -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:? Constant:
0:? -0.577350
0:? -0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? -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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? 0.577350
0:? -0.577350
0:? -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:? Constant:
0:? 0.577350
0:? -0.577350
0:? 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:? Constant:
0:? 0.577350
0:? 0.577350
0:? -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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? '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:? 'color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
Shader version: 450
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:? Constant:
0:? 0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? -0.577350
0:? -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:? Constant:
0:? -0.577350
0:? -0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? -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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? 0.577350
0:? -0.577350
0:? -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:? Constant:
0:? 0.577350
0:? -0.577350
0:? 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:? Constant:
0:? 0.577350
0:? 0.577350
0:? -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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? Constant:
0:? -0.577350
0:? 0.577350
0:? 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:? '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:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 112
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 109
ExecutionMode 4 OriginUpperLeft
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 "color"
Decorate 109(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(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(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