Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
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 93
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 69 73 92
|
|
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 63 "param"
|
|
Name 69 "gl_Position"
|
|
Name 71 "m4"
|
|
Name 73 "v3"
|
|
Name 74 "param"
|
|
Name 76 "param"
|
|
Name 80 "m3"
|
|
Name 81 "param"
|
|
Name 83 "param"
|
|
Name 92 "gl_VertexID"
|
|
Decorate 69(gl_Position) BuiltIn Position
|
|
Decorate 92(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)
|
|
32: TypeInt 32 1
|
|
33: 32(int) Constant 0
|
|
34: TypePointer Function 16(fvec4)
|
|
38: 32(int) Constant 1
|
|
42: 32(int) Constant 2
|
|
46: 6(float) Constant 1065353216
|
|
47: 6(float) Constant 0
|
|
68: TypePointer Output 16(fvec4)
|
|
69(gl_Position): 68(ptr) Variable Output
|
|
70: TypePointer UniformConstant 17
|
|
71(m4): 70(ptr) Variable UniformConstant
|
|
72: TypePointer Input 7(fvec3)
|
|
73(v3): 72(ptr) Variable Input
|
|
79: TypePointer UniformConstant 8
|
|
80(m3): 79(ptr) Variable UniformConstant
|
|
91: TypePointer Input 32(int)
|
|
92(gl_VertexID): 91(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
74(param): 18(ptr) Variable Function
|
|
76(param): 10(ptr) Variable Function
|
|
81(param): 9(ptr) Variable Function
|
|
83(param): 10(ptr) Variable Function
|
|
75: 17 Load 71(m4)
|
|
Store 74(param) 75
|
|
77: 7(fvec3) Load 73(v3)
|
|
Store 76(param) 77
|
|
78: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 74(param) 76(param)
|
|
82: 8 Load 80(m3)
|
|
Store 81(param) 82
|
|
84: 7(fvec3) Load 73(v3)
|
|
Store 83(param) 84
|
|
85: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 81(param) 83(param)
|
|
86: 7(fvec3) FAdd 78 85
|
|
87: 6(float) CompositeExtract 86 0
|
|
88: 6(float) CompositeExtract 86 1
|
|
89: 6(float) CompositeExtract 86 2
|
|
90: 16(fvec4) CompositeConstruct 87 88 89 46
|
|
Store 69(gl_Position) 90
|
|
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
|
|
35: 34(ptr) AccessChain 20(m) 33
|
|
36: 16(fvec4) Load 35
|
|
37: 7(fvec3) VectorShuffle 36 36 0 1 2
|
|
39: 34(ptr) AccessChain 20(m) 38
|
|
40: 16(fvec4) Load 39
|
|
41: 7(fvec3) VectorShuffle 40 40 0 1 2
|
|
43: 34(ptr) AccessChain 20(m) 42
|
|
44: 16(fvec4) Load 43
|
|
45: 7(fvec3) VectorShuffle 44 44 0 1 2
|
|
48: 6(float) CompositeExtract 37 0
|
|
49: 6(float) CompositeExtract 37 1
|
|
50: 6(float) CompositeExtract 37 2
|
|
51: 6(float) CompositeExtract 41 0
|
|
52: 6(float) CompositeExtract 41 1
|
|
53: 6(float) CompositeExtract 41 2
|
|
54: 6(float) CompositeExtract 45 0
|
|
55: 6(float) CompositeExtract 45 1
|
|
56: 6(float) CompositeExtract 45 2
|
|
57: 7(fvec3) CompositeConstruct 48 49 50
|
|
58: 7(fvec3) CompositeConstruct 51 52 53
|
|
59: 7(fvec3) CompositeConstruct 54 55 56
|
|
60: 8 CompositeConstruct 57 58 59
|
|
ReturnValue 60
|
|
FunctionEnd
|
|
26(mxv(mf44;vf3;): 7(fvec3) Function None 23
|
|
24(m4): 18(ptr) FunctionParameter
|
|
25(v): 10(ptr) FunctionParameter
|
|
27: Label
|
|
63(param): 18(ptr) Variable Function
|
|
62: 7(fvec3) Load 25(v)
|
|
64: 17 Load 24(m4)
|
|
Store 63(param) 64
|
|
65: 8 FunctionCall 21(Mat3(mf44;) 63(param)
|
|
66: 7(fvec3) VectorTimesMatrix 62 65
|
|
ReturnValue 66
|
|
FunctionEnd
|