mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
02467d8d94
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
531 lines
23 KiB
Plaintext
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
|