A removed block releases its instructions, so Module::idToInstruction suddenly contains dangling references. The original motivation for block removal was to skip some unreachable blocks, but that's already achieved by InReadableOrder.cpp. Also updated stale comments.
151 lines
6.7 KiB
Plaintext
151 lines
6.7 KiB
Plaintext
spv.AofA.frag
|
|
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 104
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 39 44 78
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 430
|
|
Name 4 "main"
|
|
Name 17 "foo(f1[5][7];"
|
|
Name 16 "a"
|
|
Name 20 "r"
|
|
Name 39 "outfloat"
|
|
Name 42 "g4"
|
|
Name 44 "g5"
|
|
Name 45 "param"
|
|
Name 48 "u"
|
|
Name 52 "param"
|
|
Name 66 "many"
|
|
Name 68 "i"
|
|
Name 70 "j"
|
|
Name 72 "k"
|
|
Name 78 "infloat"
|
|
Name 94 "uAofA"
|
|
MemberName 94(uAofA) 0 "f"
|
|
Name 98 "nameAofA"
|
|
Decorate 94(uAofA) GLSLShared
|
|
Decorate 94(uAofA) Block
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeInt 32 0
|
|
8: 7(int) Constant 7
|
|
9: TypeArray 6(float) 8
|
|
10: 7(int) Constant 5
|
|
11: TypeArray 9 10
|
|
12: TypePointer Function 11
|
|
13: 7(int) Constant 4
|
|
14: TypeArray 9 13
|
|
15: TypeFunction 14 12(ptr)
|
|
19: TypePointer Function 9
|
|
21: TypeInt 32 1
|
|
22: 21(int) Constant 2
|
|
25: 21(int) Constant 0
|
|
28: 21(int) Constant 1
|
|
32: 21(int) Constant 3
|
|
38: TypePointer Output 6(float)
|
|
39(outfloat): 38(ptr) Variable Output
|
|
40: 6(float) Constant 0
|
|
41: TypePointer Private 14
|
|
42(g4): 41(ptr) Variable Private
|
|
43: TypePointer Input 11
|
|
44(g5): 43(ptr) Variable Input
|
|
49: 6(float) Constant 1077936128
|
|
50: TypePointer Function 6(float)
|
|
55: 7(int) Constant 6
|
|
56: TypeArray 6(float) 55
|
|
57: TypeArray 56 10
|
|
58: TypeArray 57 13
|
|
59: 7(int) Constant 3
|
|
60: TypeArray 58 59
|
|
61: 7(int) Constant 2
|
|
62: TypeArray 60 61
|
|
63: 7(int) Constant 1
|
|
64: TypeArray 62 63
|
|
65: TypePointer Private 64
|
|
66(many): 65(ptr) Variable Private
|
|
67: TypePointer UniformConstant 21(int)
|
|
68(i): 67(ptr) Variable UniformConstant
|
|
70(j): 67(ptr) Variable UniformConstant
|
|
72(k): 67(ptr) Variable UniformConstant
|
|
77: TypePointer Input 6(float)
|
|
78(infloat): 77(ptr) Variable Input
|
|
80: TypePointer Private 6(float)
|
|
92: TypeArray 6(float) 13
|
|
93: TypeArray 92 61
|
|
94(uAofA): TypeStruct 93
|
|
95: TypeArray 94(uAofA) 10
|
|
96: TypeArray 95 59
|
|
97: TypePointer Uniform 96
|
|
98(nameAofA): 97(ptr) Variable Uniform
|
|
99: TypePointer Uniform 6(float)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
45(param): 12(ptr) Variable Function
|
|
48(u): 12(ptr) Variable Function
|
|
52(param): 12(ptr) Variable Function
|
|
Store 39(outfloat) 40
|
|
46: 11 Load 44(g5)
|
|
Store 45(param) 46
|
|
47: 14 FunctionCall 17(foo(f1[5][7];) 45(param)
|
|
Store 42(g4) 47
|
|
51: 50(ptr) AccessChain 48(u) 22 22
|
|
Store 51 49
|
|
53: 11 Load 48(u)
|
|
Store 52(param) 53
|
|
54: 14 FunctionCall 17(foo(f1[5][7];) 52(param)
|
|
69: 21(int) Load 68(i)
|
|
71: 21(int) Load 70(j)
|
|
73: 21(int) Load 72(k)
|
|
74: 21(int) Load 68(i)
|
|
75: 21(int) Load 70(j)
|
|
76: 21(int) Load 72(k)
|
|
79: 6(float) Load 78(infloat)
|
|
81: 80(ptr) AccessChain 66(many) 69 71 73 74 75 76
|
|
Store 81 79
|
|
82: 21(int) Load 70(j)
|
|
83: 21(int) Load 70(j)
|
|
84: 21(int) Load 70(j)
|
|
85: 21(int) Load 70(j)
|
|
86: 21(int) Load 70(j)
|
|
87: 21(int) Load 70(j)
|
|
88: 80(ptr) AccessChain 66(many) 82 83 84 85 86 87
|
|
89: 6(float) Load 88
|
|
90: 6(float) Load 39(outfloat)
|
|
91: 6(float) FAdd 90 89
|
|
Store 39(outfloat) 91
|
|
100: 99(ptr) AccessChain 98(nameAofA) 28 22 25 25 32
|
|
101: 6(float) Load 100
|
|
102: 6(float) Load 39(outfloat)
|
|
103: 6(float) FAdd 102 101
|
|
Store 39(outfloat) 103
|
|
Return
|
|
FunctionEnd
|
|
17(foo(f1[5][7];): 14 Function None 15
|
|
16(a): 12(ptr) FunctionParameter
|
|
18: Label
|
|
20(r): 19(ptr) Variable Function
|
|
23: 19(ptr) AccessChain 16(a) 22
|
|
24: 9 Load 23
|
|
Store 20(r) 24
|
|
26: 19(ptr) AccessChain 16(a) 25
|
|
27: 9 Load 26
|
|
29: 19(ptr) AccessChain 16(a) 28
|
|
30: 9 Load 29
|
|
31: 9 Load 20(r)
|
|
33: 19(ptr) AccessChain 16(a) 32
|
|
34: 9 Load 33
|
|
35: 14 CompositeConstruct 27 30 31 34
|
|
ReturnValue 35
|
|
FunctionEnd
|