完全に備忘録です。#1とありますが順番になっているわけではありません。内容はバラバラです。そもそも#2をかくかどうかすらわかりません。
今回はShader命令について書いていきます。オペランドの指定の仕方などはある程度はわかることを前提とします。
目次:
DP4
dp4 r0, r1, r2
一番出てくる。Dot Product 4-componentの略。四次元ベクトルの内積を計算します。ちなみにDot Productは内積という意味。
例: r0 = r1 ・r2
MOV
mov r0, r1
みんな大好きARMでお馴染みのmov命令!値コピー。
例: r0 = r1
RCP
rcp r0, r1
最初の要素の逆数を計算し、各要素に格納する。
例: r0[0 ~ n] = 1/r1.x
MUL
mul r0, r1, r2
ベクトルの各要素ごとで乗算をする。
例: r1(1, 2, 3, 4) * r2(0.1, 0.2, 0.3, 0.4) = r0(0.1, 0.4, 0.9, 1.6)
ADD
add r0, r1, r2
ベクトルの各要素ごとで加算をする。
例: r1(1, 2, 3, 4) + r2(0.1, 0.2, 0.3, 0.4) = r0(1.1, 2.2, 3.3, 4.4)
MAX
max r0, r1, r2
ベクトルの各要素ごとで最大値をとる。
例: r1(1.2, 4.9, 3.0, 2.5), r2(1.8, 3.4, 0.3, 2.5) -> r0(1.8, 4.9, 3.0, 2.5)
MIN
min r0, r1, r2
ベクトルの各要素ごとで最小値をとる。
例: r1(1.2, 0.9, 0, 0.5), r2(1.8, 3.4, 0.3, 0.5) -> r0(1.2, 0.3, 0, 0.5)
MAD
mad r0, r1, r2, r3
2つのベクトルを乗算して、4つ目のベクトルを加算する。
例: r0 = r1 * r2 + r3