SPV: Implement all matrix operators {+,-,*,/} for {matrix,scalar,vector}.
This commit is contained in:
@@ -3,4 +3,206 @@ spv.deepRvalue.frag
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Missing functionality: binary operation on matrix
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 155
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginLowerLeft
|
||||
Source GLSL 330
|
||||
Name 4 "main"
|
||||
Name 9 "v1"
|
||||
Name 15 "v2"
|
||||
Name 21 "v3"
|
||||
Name 27 "v4"
|
||||
Name 35 "m"
|
||||
Name 63 "mm"
|
||||
Name 80 "f"
|
||||
Name 87 "g"
|
||||
Name 106 "h"
|
||||
Name 107 "i"
|
||||
Name 111 "samp2D"
|
||||
Name 134 "str"
|
||||
MemberName 134(str) 0 "a"
|
||||
MemberName 134(str) 1 "b"
|
||||
MemberName 134(str) 2 "c"
|
||||
Name 136 "t"
|
||||
Name 149 "gl_FragColor"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Private 7(fvec4)
|
||||
9(v1): 8(ptr) Variable Private
|
||||
10: 6(float) Constant 1073741824
|
||||
11: 6(float) Constant 1077936128
|
||||
12: 6(float) Constant 1084227584
|
||||
13: 6(float) Constant 1088421888
|
||||
14: 7(fvec4) ConstantComposite 10 11 12 13
|
||||
15(v2): 8(ptr) Variable Private
|
||||
16: 6(float) Constant 1093664768
|
||||
17: 6(float) Constant 1095761920
|
||||
18: 6(float) Constant 1099431936
|
||||
19: 6(float) Constant 1100480512
|
||||
20: 7(fvec4) ConstantComposite 16 17 18 19
|
||||
21(v3): 8(ptr) Variable Private
|
||||
22: 6(float) Constant 1102577664
|
||||
23: 6(float) Constant 1105723392
|
||||
24: 6(float) Constant 1106771968
|
||||
25: 6(float) Constant 1108606976
|
||||
26: 7(fvec4) ConstantComposite 22 23 24 25
|
||||
27(v4): 8(ptr) Variable Private
|
||||
28: 6(float) Constant 1109655552
|
||||
29: 6(float) Constant 1110179840
|
||||
30: 6(float) Constant 1111228416
|
||||
31: 6(float) Constant 1112801280
|
||||
32: 7(fvec4) ConstantComposite 28 29 30 31
|
||||
33: TypeMatrix 7(fvec4) 4
|
||||
34: TypePointer Function 33
|
||||
40: 6(float) Constant 1065353216
|
||||
41: 6(float) Constant 0
|
||||
79: TypePointer Function 6(float)
|
||||
81: TypeInt 32 1
|
||||
82: 81(int) Constant 1
|
||||
83: TypeInt 32 0
|
||||
84: 83(int) Constant 3
|
||||
103: 81(int) Constant 2
|
||||
104: 83(int) Constant 1
|
||||
108: TypeImage 6(float) 2D sampled format:Unknown
|
||||
109: TypeSampledImage 108
|
||||
110: TypePointer UniformConstant 109
|
||||
111(samp2D): 110(ptr) Variable UniformConstant
|
||||
113: TypeVector 6(float) 2
|
||||
114: 6(float) Constant 1056964608
|
||||
115: 113(fvec2) ConstantComposite 114 114
|
||||
118: TypePointer Function 7(fvec4)
|
||||
121: 6(float) Constant 1036831949
|
||||
122: TypeBool
|
||||
133: TypeArray 113(fvec2) 84
|
||||
134(str): TypeStruct 81(int) 133 122(bool)
|
||||
135: TypePointer Function 134(str)
|
||||
137: 113(fvec2) ConstantComposite 10 11
|
||||
138: 6(float) Constant 1082130432
|
||||
139: 113(fvec2) ConstantComposite 138 12
|
||||
140: 6(float) Constant 1086324736
|
||||
141: 113(fvec2) ConstantComposite 140 13
|
||||
142: 133 ConstantComposite 137 139 141
|
||||
143: 122(bool) ConstantTrue
|
||||
144: 134(str) ConstantComposite 82 142 143
|
||||
148: TypePointer Output 7(fvec4)
|
||||
149(gl_FragColor): 148(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
35(m): 34(ptr) Variable Function
|
||||
63(mm): 34(ptr) Variable Function
|
||||
80(f): 79(ptr) Variable Function
|
||||
87(g): 79(ptr) Variable Function
|
||||
106(h): 79(ptr) Variable Function
|
||||
107(i): 79(ptr) Variable Function
|
||||
119: 118(ptr) Variable Function
|
||||
136(t): 135(ptr) Variable Function
|
||||
Store 9(v1) 14
|
||||
Store 15(v2) 20
|
||||
Store 21(v3) 26
|
||||
Store 27(v4) 32
|
||||
36: 7(fvec4) Load 9(v1)
|
||||
37: 7(fvec4) Load 15(v2)
|
||||
38: 7(fvec4) Load 21(v3)
|
||||
39: 7(fvec4) Load 27(v4)
|
||||
42: 6(float) CompositeExtract 36 0
|
||||
43: 6(float) CompositeExtract 36 1
|
||||
44: 6(float) CompositeExtract 36 2
|
||||
45: 6(float) CompositeExtract 36 3
|
||||
46: 6(float) CompositeExtract 37 0
|
||||
47: 6(float) CompositeExtract 37 1
|
||||
48: 6(float) CompositeExtract 37 2
|
||||
49: 6(float) CompositeExtract 37 3
|
||||
50: 6(float) CompositeExtract 38 0
|
||||
51: 6(float) CompositeExtract 38 1
|
||||
52: 6(float) CompositeExtract 38 2
|
||||
53: 6(float) CompositeExtract 38 3
|
||||
54: 6(float) CompositeExtract 39 0
|
||||
55: 6(float) CompositeExtract 39 1
|
||||
56: 6(float) CompositeExtract 39 2
|
||||
57: 6(float) CompositeExtract 39 3
|
||||
58: 7(fvec4) CompositeConstruct 42 43 44 45
|
||||
59: 7(fvec4) CompositeConstruct 46 47 48 49
|
||||
60: 7(fvec4) CompositeConstruct 50 51 52 53
|
||||
61: 7(fvec4) CompositeConstruct 54 55 56 57
|
||||
62: 33 CompositeConstruct 58 59 60 61
|
||||
Store 35(m) 62
|
||||
64: 33 Load 35(m)
|
||||
65: 33 Load 35(m)
|
||||
66: 7(fvec4) CompositeExtract 64 0
|
||||
67: 7(fvec4) CompositeExtract 65 0
|
||||
68: 7(fvec4) FMul 66 67
|
||||
69: 7(fvec4) CompositeExtract 64 1
|
||||
70: 7(fvec4) CompositeExtract 65 1
|
||||
71: 7(fvec4) FMul 69 70
|
||||
72: 7(fvec4) CompositeExtract 64 2
|
||||
73: 7(fvec4) CompositeExtract 65 2
|
||||
74: 7(fvec4) FMul 72 73
|
||||
75: 7(fvec4) CompositeExtract 64 3
|
||||
76: 7(fvec4) CompositeExtract 65 3
|
||||
77: 7(fvec4) FMul 75 76
|
||||
78: 33 CompositeConstruct 68 71 74 77
|
||||
Store 63(mm) 78
|
||||
85: 79(ptr) AccessChain 63(mm) 82 84
|
||||
86: 6(float) Load 85
|
||||
Store 80(f) 86
|
||||
88: 33 Load 35(m)
|
||||
89: 33 Load 35(m)
|
||||
90: 7(fvec4) CompositeExtract 88 0
|
||||
91: 7(fvec4) CompositeExtract 89 0
|
||||
92: 7(fvec4) FMul 90 91
|
||||
93: 7(fvec4) CompositeExtract 88 1
|
||||
94: 7(fvec4) CompositeExtract 89 1
|
||||
95: 7(fvec4) FMul 93 94
|
||||
96: 7(fvec4) CompositeExtract 88 2
|
||||
97: 7(fvec4) CompositeExtract 89 2
|
||||
98: 7(fvec4) FMul 96 97
|
||||
99: 7(fvec4) CompositeExtract 88 3
|
||||
100: 7(fvec4) CompositeExtract 89 3
|
||||
101: 7(fvec4) FMul 99 100
|
||||
102: 33 CompositeConstruct 92 95 98 101
|
||||
105: 6(float) CompositeExtract 102 2 1
|
||||
Store 87(g) 105
|
||||
Store 106(h) 12
|
||||
112: 109 Load 111(samp2D)
|
||||
116: 7(fvec4) ImageSampleImplicitLod 112 115
|
||||
117: 6(float) CompositeExtract 116 1
|
||||
Store 107(i) 117
|
||||
120: 6(float) Load 107(i)
|
||||
123: 122(bool) FOrdGreaterThan 120 121
|
||||
SelectionMerge 125 None
|
||||
BranchConditional 123 124 127
|
||||
124: Label
|
||||
126: 7(fvec4) Load 9(v1)
|
||||
Store 119 126
|
||||
Branch 125
|
||||
127: Label
|
||||
128: 7(fvec4) Load 15(v2)
|
||||
Store 119 128
|
||||
Branch 125
|
||||
125: Label
|
||||
129: 79(ptr) AccessChain 119 84
|
||||
130: 6(float) Load 129
|
||||
131: 6(float) Load 107(i)
|
||||
132: 6(float) FAdd 131 130
|
||||
Store 107(i) 132
|
||||
Store 136(t) 144
|
||||
145: 6(float) CompositeExtract 144 1 2 1
|
||||
146: 6(float) Load 107(i)
|
||||
147: 6(float) FAdd 146 145
|
||||
Store 107(i) 147
|
||||
150: 6(float) Load 80(f)
|
||||
151: 6(float) Load 87(g)
|
||||
152: 6(float) Load 106(h)
|
||||
153: 6(float) Load 107(i)
|
||||
154: 7(fvec4) CompositeConstruct 150 151 152 153
|
||||
Store 149(gl_FragColor) 154
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user