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.
138 lines
6.4 KiB
Plaintext
Executable File
138 lines
6.4 KiB
Plaintext
Executable File
spv.matFun.vert
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 96
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 72 76 95
|
|
Source GLSL 130
|
|
Name 4 "main"
|
|
Name 14 "xf(mf33;vf3;"
|
|
Name 12 "m"
|
|
Name 13 "v"
|
|
Name 21 "Mat3(mf44;"
|
|
Name 20 "m"
|
|
Name 26 "mxv(mf44;vf3;"
|
|
Name 24 "m4"
|
|
Name 25 "v"
|
|
Name 65 "param"
|
|
Name 72 "gl_Position"
|
|
Name 74 "m4"
|
|
Name 76 "v3"
|
|
Name 77 "param"
|
|
Name 79 "param"
|
|
Name 83 "m3"
|
|
Name 84 "param"
|
|
Name 86 "param"
|
|
Name 95 "gl_VertexID"
|
|
Decorate 72(gl_Position) BuiltIn Position
|
|
Decorate 95(gl_VertexID) BuiltIn VertexId
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 3
|
|
8: TypeMatrix 7(fvec3) 3
|
|
9: TypePointer Function 8
|
|
10: TypePointer Function 7(fvec3)
|
|
11: TypeFunction 7(fvec3) 9(ptr) 10(ptr)
|
|
16: TypeVector 6(float) 4
|
|
17: TypeMatrix 16(fvec4) 4
|
|
18: TypePointer Function 17
|
|
19: TypeFunction 8 18(ptr)
|
|
23: TypeFunction 7(fvec3) 18(ptr) 10(ptr)
|
|
33: TypeInt 32 1
|
|
34: 33(int) Constant 0
|
|
35: TypePointer Function 16(fvec4)
|
|
39: 33(int) Constant 1
|
|
43: 33(int) Constant 2
|
|
47: 6(float) Constant 1065353216
|
|
48: 6(float) Constant 0
|
|
71: TypePointer Output 16(fvec4)
|
|
72(gl_Position): 71(ptr) Variable Output
|
|
73: TypePointer UniformConstant 17
|
|
74(m4): 73(ptr) Variable UniformConstant
|
|
75: TypePointer Input 7(fvec3)
|
|
76(v3): 75(ptr) Variable Input
|
|
82: TypePointer UniformConstant 8
|
|
83(m3): 82(ptr) Variable UniformConstant
|
|
94: TypePointer Input 33(int)
|
|
95(gl_VertexID): 94(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
77(param): 18(ptr) Variable Function
|
|
79(param): 10(ptr) Variable Function
|
|
84(param): 9(ptr) Variable Function
|
|
86(param): 10(ptr) Variable Function
|
|
78: 17 Load 74(m4)
|
|
Store 77(param) 78
|
|
80: 7(fvec3) Load 76(v3)
|
|
Store 79(param) 80
|
|
81: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 77(param) 79(param)
|
|
85: 8 Load 83(m3)
|
|
Store 84(param) 85
|
|
87: 7(fvec3) Load 76(v3)
|
|
Store 86(param) 87
|
|
88: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 84(param) 86(param)
|
|
89: 7(fvec3) FAdd 81 88
|
|
90: 6(float) CompositeExtract 89 0
|
|
91: 6(float) CompositeExtract 89 1
|
|
92: 6(float) CompositeExtract 89 2
|
|
93: 16(fvec4) CompositeConstruct 90 91 92 47
|
|
Store 72(gl_Position) 93
|
|
Return
|
|
FunctionEnd
|
|
14(xf(mf33;vf3;): 7(fvec3) Function None 11
|
|
12(m): 9(ptr) FunctionParameter
|
|
13(v): 10(ptr) FunctionParameter
|
|
15: Label
|
|
28: 7(fvec3) Load 13(v)
|
|
29: 8 Load 12(m)
|
|
30: 7(fvec3) VectorTimesMatrix 28 29
|
|
ReturnValue 30
|
|
FunctionEnd
|
|
21(Mat3(mf44;): 8 Function None 19
|
|
20(m): 18(ptr) FunctionParameter
|
|
22: Label
|
|
36: 35(ptr) AccessChain 20(m) 34
|
|
37: 16(fvec4) Load 36
|
|
38: 7(fvec3) VectorShuffle 37 37 0 1 2
|
|
40: 35(ptr) AccessChain 20(m) 39
|
|
41: 16(fvec4) Load 40
|
|
42: 7(fvec3) VectorShuffle 41 41 0 1 2
|
|
44: 35(ptr) AccessChain 20(m) 43
|
|
45: 16(fvec4) Load 44
|
|
46: 7(fvec3) VectorShuffle 45 45 0 1 2
|
|
49: 6(float) CompositeExtract 38 0
|
|
50: 6(float) CompositeExtract 38 1
|
|
51: 6(float) CompositeExtract 38 2
|
|
52: 6(float) CompositeExtract 42 0
|
|
53: 6(float) CompositeExtract 42 1
|
|
54: 6(float) CompositeExtract 42 2
|
|
55: 6(float) CompositeExtract 46 0
|
|
56: 6(float) CompositeExtract 46 1
|
|
57: 6(float) CompositeExtract 46 2
|
|
58: 7(fvec3) CompositeConstruct 49 50 51
|
|
59: 7(fvec3) CompositeConstruct 52 53 54
|
|
60: 7(fvec3) CompositeConstruct 55 56 57
|
|
61: 8 CompositeConstruct 58 59 60
|
|
ReturnValue 61
|
|
FunctionEnd
|
|
26(mxv(mf44;vf3;): 7(fvec3) Function None 23
|
|
24(m4): 18(ptr) FunctionParameter
|
|
25(v): 10(ptr) FunctionParameter
|
|
27: Label
|
|
65(param): 18(ptr) Variable Function
|
|
64: 7(fvec3) Load 25(v)
|
|
66: 17 Load 24(m4)
|
|
Store 65(param) 66
|
|
67: 8 FunctionCall 21(Mat3(mf44;) 65(param)
|
|
68: 7(fvec3) VectorTimesMatrix 64 67
|
|
ReturnValue 68
|
|
FunctionEnd
|