Go to the source code of this file.
|
void | Vu0IdMatrix (VU_MATRIX *m) |
|
void | Vu0ResetMatrix (VU_MATRIX *m) |
|
void | Vu0TransMatrix (VU_MATRIX *m, VU_VECTOR *t) |
|
void | Vu0TransMatrixXYZ (VU_MATRIX *m, float x, float y, float z) |
|
void | Vu0ScaleMatrix (VU_MATRIX *m, VU_VECTOR *s) |
|
void | Vu0ScaleMatrixXYZ (VU_MATRIX *m, float x, float y, float z) |
|
void | Vu0MulMatrix (VU_MATRIX *m0, VU_MATRIX *m1, VU_MATRIX *out) |
|
void | Vu0InverseMatrix (VU_MATRIX *in, VU_MATRIX *out) |
|
void | Vu0ApplyMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out) |
|
void | Vu0ApplyRotMatrix (VU_MATRIX *m, VU_VECTOR *v0, VU_VECTOR *out) |
|
void | Vu0CopyMatrix (VU_MATRIX *dest, VU_MATRIX *src) |
|
float | Vu0DotProduct (VU_VECTOR *v0, VU_VECTOR *v1) |
|
◆ Vu0ApplyMatrix()
Definition at line 218 of file vuhw.c.
229 "lqc2 $vf20, 0x00(%1) \n"
230 "lqc2 $vf16, 0x00(%0) \n"
231 "lqc2 $vf17, 0x10(%0) \n"
232 "lqc2 $vf18, 0x20(%0) \n"
233 "lqc2 $vf19, 0x30(%0) \n"
234 "vmulax.xyzw $ACC, $vf16,$vf20 \n"
235 "vmadday.xyzw $ACC, $vf17,$vf20 \n"
236 "vmaddaz.xyzw $ACC, $vf18,$vf20 \n"
237 "vmaddw.xyzw $vf20, $vf19,$vf20 \n"
238 "sqc2 $vf20,0x00(%2) \n"
240 "lqc2 vf20, 0x00(%1) \n"
241 "lqc2 vf16, 0x00(%0) \n"
242 "lqc2 vf17, 0x10(%0) \n"
243 "lqc2 vf18, 0x20(%0) \n"
244 "lqc2 vf19, 0x30(%0) \n"
245 "vmulax.xyzw ACC, vf16,vf20 \n"
246 "vmadday.xyzw ACC, vf17,vf20 \n"
247 "vmaddaz.xyzw ACC, vf18,vf20 \n"
248 "vmaddw.xyzw vf20, vf19,vf20 \n"
249 "sqc2 vf20,0x00(%2) \n"
251 : :
"r"(m),
"r"(
v0),
"r"(out)
References v0.
◆ Vu0ApplyRotMatrix()
Definition at line 256 of file vuhw.c.
266 "lqc2 $vf20, 0x00(%1) \n"
267 "lqc2 $vf16, 0x00(%0) \n"
268 "lqc2 $vf17, 0x10(%0) \n"
269 "lqc2 $vf18, 0x20(%0) \n"
270 "vmulax.xyz $ACC, $vf16,$vf20 \n"
271 "vmadday.xyz $ACC, $vf17,$vf20 \n"
272 "vmaddz.xyz $vf20, $vf18,$vf20 \n"
273 "vmulw.w $vf20, $vf0, $vf0 \n"
274 "sqc2 $vf20, 0x00(%2) \n"
276 "lqc2 vf20, 0x00(%1) \n"
277 "lqc2 vf16, 0x00(%0) \n"
278 "lqc2 vf17, 0x10(%0) \n"
279 "lqc2 vf18, 0x20(%0) \n"
280 "vmulax.xyz ACC, vf16,vf20 \n"
281 "vmadday.xyz ACC, vf17,vf20 \n"
282 "vmaddz.xyz vf20, vf18,vf20 \n"
283 "vmulw.w vf20, vf0, vf0 \n"
284 "sqc2 vf20, 0x00(%2) \n"
286 : :
"r"(m),
"r"(
v0),
"r"(out)
References v0.
◆ Vu0CopyMatrix()
Definition at line 291 of file vuhw.c.
296 "lqc2 $vf1, 0(%1) \n"
297 "lqc2 $vf2, 16(%1) \n"
298 "lqc2 $vf3, 32(%1) \n"
299 "lqc2 $vf4, 48(%1) \n"
301 "sqc2 $vf1, 0(%0) \n"
302 "sqc2 $vf2, 16(%0) \n"
303 "sqc2 $vf3, 32(%0) \n"
304 "sqc2 $vf4, 48(%0) \n"
307 "lqc2 vf2, 16(%1) \n"
308 "lqc2 vf3, 32(%1) \n"
309 "lqc2 vf4, 48(%1) \n"
312 "sqc2 vf2, 16(%0) \n"
313 "sqc2 vf3, 32(%0) \n"
314 "sqc2 vf4, 48(%0) \n"
317 : :
"r" (dest),
"r" (src)
◆ Vu0DotProduct()
Definition at line 321 of file vuhw.c.
329 "lqc2 $vf1, 0(%1) \n"
330 "lqc2 $vf2, 0(%2) \n"
332 "vmul.xyz $vf3, $vf1, $vf2 \n"
334 "vaddy.x $vf3, $vf3, $vf3y \n"
335 "vaddz.x $vf3, $vf3, $vf3z \n"
342 "vmul.xyz vf3, vf1, vf2 \n"
344 "vaddy.x vf3, vf3, vf3y \n"
345 "vaddz.x vf3, vf3, vf3z \n"
349 :
"=r" (ret) :
"r" (
v0),
"r" (
v1)
References v0, and v1.
◆ Vu0IdMatrix()
◆ Vu0InverseMatrix()
◆ Vu0MulMatrix()
Definition at line 148 of file vuhw.c.
153 "lqc2 $vf1, 0x00(%0) \n"
154 "lqc2 $vf2, 0x10(%0) \n"
155 "lqc2 $vf3, 0x20(%0) \n"
156 "lqc2 $vf4, 0x30(%0) \n"
157 "lqc2 $vf5, 0x00(%1) \n"
158 "lqc2 $vf6, 0x10(%1) \n"
159 "lqc2 $vf7, 0x20(%1) \n"
160 "lqc2 $vf8, 0x30(%1) \n"
161 "vmulax.xyzw $ACC, $vf5, $vf1 \n"
162 "vmadday.xyzw $ACC, $vf6, $vf1 \n"
163 "vmaddaz.xyzw $ACC, $vf7, $vf1 \n"
164 "vmaddw.xyzw $vf1, $vf8, $vf1 \n"
165 "vmulax.xyzw $ACC, $vf5, $vf2 \n"
166 "vmadday.xyzw $ACC, $vf6, $vf2 \n"
167 "vmaddaz.xyzw $ACC, $vf7, $vf2 \n"
168 "vmaddw.xyzw $vf2, $vf8, $vf2 \n"
169 "vmulax.xyzw $ACC, $vf5, $vf3 \n"
170 "vmadday.xyzw $ACC, $vf6, $vf3 \n"
171 "vmaddaz.xyzw $ACC, $vf7, $vf3 \n"
172 "vmaddw.xyzw $vf3, $vf8, $vf3 \n"
173 "vmulax.xyzw $ACC, $vf5, $vf4 \n"
174 "vmadday.xyzw $ACC, $vf6, $vf4 \n"
175 "vmaddaz.xyzw $ACC, $vf7, $vf4 \n"
176 "vmaddw.xyzw $vf4, $vf8, $vf4 \n"
177 "sqc2 $vf1, 0x00(%2) \n"
178 "sqc2 $vf2, 0x10(%2) \n"
179 "sqc2 $vf3, 0x20(%2) \n"
180 "sqc2 $vf4, 0x30(%2) \n"
182 "lqc2 vf1, 0x00(%0) \n"
183 "lqc2 vf2, 0x10(%0) \n"
184 "lqc2 vf3, 0x20(%0) \n"
185 "lqc2 vf4, 0x30(%0) \n"
186 "lqc2 vf5, 0x00(%1) \n"
187 "lqc2 vf6, 0x10(%1) \n"
188 "lqc2 vf7, 0x20(%1) \n"
189 "lqc2 vf8, 0x30(%1) \n"
190 "vmulax.xyzw ACC, vf5, vf1 \n"
191 "vmadday.xyzw ACC, vf6, vf1 \n"
192 "vmaddaz.xyzw ACC, vf7, vf1 \n"
193 "vmaddw.xyzw vf1, vf8, vf1 \n"
194 "vmulax.xyzw ACC, vf5, vf2 \n"
195 "vmadday.xyzw ACC, vf6, vf2 \n"
196 "vmaddaz.xyzw ACC, vf7, vf2 \n"
197 "vmaddw.xyzw vf2, vf8, vf2 \n"
198 "vmulax.xyzw ACC, vf5, vf3 \n"
199 "vmadday.xyzw ACC, vf6, vf3 \n"
200 "vmaddaz.xyzw ACC, vf7, vf3 \n"
201 "vmaddw.xyzw vf3, vf8, vf3 \n"
202 "vmulax.xyzw ACC, vf5, vf4 \n"
203 "vmadday.xyzw ACC, vf6, vf4 \n"
204 "vmaddaz.xyzw ACC, vf7, vf4 \n"
205 "vmaddw.xyzw vf4, vf8, vf4 \n"
206 "sqc2 vf1, 0x00(%2) \n"
207 "sqc2 vf2, 0x10(%2) \n"
208 "sqc2 vf3, 0x20(%2) \n"
209 "sqc2 vf4, 0x30(%2) \n"
211 : :
"r" (m0),
"r" (m1),
"r" (out)
◆ Vu0ResetMatrix()
Definition at line 18 of file vuhw.c.
22 "vmr32.xyzw $vf18, $vf0 \n"
23 "sqc2 $vf0, 0x30(%0) \n"
24 "vmr32.xyzw $vf17, $vf18 \n"
25 "sqc2 $vf18, 0x20(%0) \n"
26 "vmr32.xyzw $vf16, $vf17 \n"
27 "sqc2 $vf17, 0x10(%0) \n"
28 "sqc2 $vf16, 0x00(%0) \n"
30 "vmr32.xyzw vf18, vf00 \n"
31 "sqc2 vf00, 0x30(%0) \n"
32 "vmr32.xyzw vf17, vf18 \n"
33 "sqc2 vf18, 0x20(%0) \n"
34 "vmr32.xyzw vf16, vf17 \n"
35 "sqc2 vf17, 0x10(%0) \n"
36 "sqc2 vf16, 0x00(%0) \n"
Referenced by Vu0IdMatrix().
◆ Vu0ScaleMatrix()
Definition at line 93 of file vuhw.c.
99 "lqc2 $vf10, 0(%0) \n"
100 "lqc2 $vf11, 16(%0) \n"
101 "lqc2 $vf12, 32(%0) \n"
104 "vmulx.x $vf10, $vf10, $vf1x \n"
105 "vmuly.y $vf11, $vf11, $vf1y \n"
106 "vmulz.z $vf12, $vf12, $vf1z \n"
109 "sqc2 $vf10, 0(%0) \n"
110 "sqc2 $vf11, 16(%0) \n"
111 "sqc2 $vf12, 32(%0) \n"
115 "lqc2 vf10, 0(%0) \n"
116 "lqc2 vf11, 16(%0) \n"
117 "lqc2 vf12, 32(%0) \n"
120 "vmulx.x vf10, vf10, vf1x \n"
121 "vmuly.y vf11, vf11, vf1y \n"
122 "vmulz.z vf12, vf12, vf1z \n"
125 "sqc2 vf10, 0(%0) \n"
126 "sqc2 vf11, 16(%0) \n"
127 "sqc2 vf12, 32(%0) \n"
References s.
Referenced by Vu0ScaleMatrixXYZ().
◆ Vu0ScaleMatrixXYZ()
void Vu0ScaleMatrixXYZ |
( |
VU_MATRIX * |
m, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
z |
|
) |
| |
◆ Vu0TransMatrix()
◆ Vu0TransMatrixXYZ()
void Vu0TransMatrixXYZ |
( |
VU_MATRIX * |
m, |
|
|
float |
x, |
|
|
float |
y, |
|
|
float |
z |
|
) |
| |