実行部隊VU1を使い倒せ No. 0x00
■ このスレッドは過去ログ倉庫に格納されています
0001vasm
02/05/24 03:16ID:???煮ても焼いても食えないコイツを「こうやって食ったぜ!」などの
美味しい料理方法を晒して逝こうじゃないですか。
0002名前は開発中のものです。
02/05/24 03:22ID:???i=0x8000;
i=(i>>8)&0xff;
// VU1(PS2-VectorUnit)
NOP IADDIU VI01,VI00,0x7fff
NOP IADDIU VI01,VI01,1
NOP MFIR.x VF01x,VI01
ITOF4.x VF01x,VF01x IADDIU VI02,VI00,0xff
FTOI0.x VF01x,VF01x NOP
ITOF4.x VF01x,VF01x NOP
FTOI0.x VF01x,VF01x NOP
NOP MTIR.x VI01,VF01x
NOP IAND VI01,VI01,VI02
0003名前は開発中のものです。
02/05/24 03:23ID:???NOP NOP
0004名前は開発中のものです。
02/05/24 03:34ID:???VADDX vf01,vf00,vf04x
VADDY vf02,vf00,vf04y
VADDZ vf03,vf00,vf04z
VMULAX acc,vf01,vf04x
VMADDAY acc,vf02,vf04y
VMADDZ vf04,vf03,vf04z
0005名前は開発中のものです。
02/05/24 03:56ID:B.P7EKEoVUプログラミングの肝はループ展開。
0006名前は開発中のものです。
02/05/24 04:11ID:???お前が、おもしろいこと書けよ。
0007名前は開発中のものです。
02/05/24 09:42ID:???0008名前は開発中のものです。
02/05/24 10:21ID:???inline void VectorNorm(void *v0, void *v1)
{
asm __volatile__("
lqc2 vf16,0x0(%1)
vmul.xyz vf17,vf16,vf16
vmulax.w ACC,vf00,vf17x
vmadday.w ACC,vf00,vf17y
vmaddz.w vf17,vf00,vf17z
vrsqrt Q,vf00w,vf17w
vwaitq
vmulq.xyz vf16,vf16,Q
sqc2 vf16,0x0(%0)
"
: "r"(v0), "r"(v1)
: "memory"
);
}
でも用途によってはノーマライズって整数でもいいので
値域を限定すれば、ルート部分をテーブルで拾った方が速い罠。
あ、もちろんスクラッチパッドに置かないと意味ないけど。
って使用限定するからps2って使いづらいといわれる罠。
0009名前は開発中のものです。
02/05/25 23:18ID:???久しく触ってないので間違ってるかも。
mul.xyz vf17, vf16, vf16
maxw.x vf01x, vf00, vf00w
nop
nop
adday.x acc, vf17x, vf17y
maddz.x vf17x, vf01x, vf17z
とりあえず1bit誤差を気にせず、nopも入れてみた。lowerは省略。
maxwはaddwでも1.0fさえ入ってれば何でもいい。
vf01xに毎回入れる必要がなければ、そこもなくなる。
>>7 是非
00109
02/05/28 00:59ID:???nop loi 0.3333333333333333333333333333
mulai.xyz acc, vf16, I
maddai.xyz acc, vf17, I
maddai.xyz acc, vf18, I
msubw.xyz vf16, vf16, vf00w
msubw.xyz vf17, vf17, vf00w
msubw.xyz vf18, vf18, vf00w
madd.xyz vf19, vf00, vf00 loi 2.0
msubi.xyz vf16, vf16, I
msubi.xyz vf17, vf17, I
msubi.xyz vf18, vf18, I
うーん、合ってるかな?loi以外のlowerは省略。
重心座標がいらなければvf19に入れる所は必要ないです。
00119
02/06/05 02:07ID:???いくつかの例外を除いてmscalは使わずにmscntのみ。
それを呼ぶ側でmscalを使い、振り分け。
光源計算ありとなしを切り替えたりとか。
0012名前は開発中のものです。
02/07/02 01:36ID:???あいつ、レジスタを完全に使いきらずに
完全に最適化されないのだけど、やっぱりバグなんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています