ALU 2, @12, KC0[], KC1[] TEX 2 @6 ALU 40, @15, KC0[CB0:0-32], KC1[] MEM_RAT_CACHELESS STORE_RAW T0.X, T1.X, 1 CF_END PAD Fetch clause starting at 6: VTX_READ_32 T4.X, T4.X, 44, #3 ; goffsetX VTX_READ_32 T3.X, T3.X, 48, #3 ; goffsetY VTX_READ_32 T2.X, T2.X, 52, #3 ; goffsetZ ALU clause starting at 12: MOV * T2.X, 0.0, MOV T3.X, PV.X, MOV * T4.X, PV.X, ALU clause starting at 15: MULLO_INT * T0.W, KC0[2].X, T1.Z, ; T0.W <-- LSIZE.Z * WGID.Z ADD_INT T0.W, PS, T0.Z, ; T0.W <-- T0.W + LID.Z INT_TO_FLT * T0.Z, KC0[0].W, ; T0.Z <-- flt(GSIZE.X) ADD_INT T0.W, PV.W, T2.X, ; T0.W <-- T0.W + GOFFSET.Z ;; T0.W == gid.z RECIP_IEEE * T1.Z, PS, ; T1.Z <-- 1/T0.Z ;; 1/flt(gsize.x) INT_TO_FLT * T1.W, PV.W, ; T1.W <-- flt(T0.W) ;; flt(gid.z) INT_TO_FLT * T2.X, KC0[1].Y, ; T2.X <-- flt(GSIZE.Z) INT_TO_FLT * T2.Y, KC0[1].X, ; T2.Y <-- flt(GSIZE.Y) MULLO_INT * T1.Y, KC0[1].W, T1.Y, ; T1.Y <-- LSIZE.Y * WGID.Y ADD_INT T2.W, PS, T0.Y, ; T2.W <-- T1.Y + LID.Y MULLO_INT * T0.Y, KC0[1].Z, T1.X, ; T0.Y <-- LSIZE.X * WGID.X ADD_INT T2.Z, PV.W, T3.X, ; T2.Z <-- T2.W + GOFFSET.Y ;; T2.Z == gid.y ADD_INT T2.W, PS, T0.X, BS:VEC_021/SCL_122 ; T2.W <-- T0.Y + LID.X RECIP_IEEE * T0.X, T2.Y, ; T0.X <-- 1/T2.Y ;; 1/flt(gsize.y) ADD_INT T2.W, PV.W, T4.X, ; T2.W <-- T2.W + GOFFSET.X ;; T2.W == gid.x INT_TO_FLT * T0.Y, PV.Z, ; T0.Y <-- flt(T2.Z) ;; flt(gid.y) MULADD_IEEE T3.W, T2.Y, literal.x, PS, ; T3.W <-- T2.Y * -0.5 + T0.Y ;; flt(gid.y) - flt(gsize.y)/2 INT_TO_FLT * T0.Y, PV.W, ; T0.Y <-- flt(T2.W) ;; flt(gid.x) -1090519040(-5.000000e-01), 0(0.000000e+00) MULADD_IEEE T0.Z, T0.Z, literal.x, PS, ; T0.Z <-- T0.Z * -0.5 + T0.Y ;; flt(gid.x) - flt(gsize.x)/2 MUL_IEEE T3.W, PV.W, T0.X, ; T3.W <-- T3.W * T0.X ;; (flt(gid.y) - flt(gsize.y)/2) * 1/flt(gsize.y) MULLO_INT * T0.X, T2.W, KC0[1].X, ; T0.X <-- T2.W * gsize.y ;; gid.x * gsize.y -1090519040(-5.000000e-01), 0(0.000000e+00) ADD_INT T0.X, PS, T2.Z, ; T0.X <-- T0.X + gid.y MULADD_IEEE T0.Y, T2.X, literal.x, T1.W, ; T0.Y <-- T2.X * -0.5 + T1.W ;; flt(gid.z) - flt(gsize.Z)/2 MUL_IEEE T2.Z, PV.W, PV.W, ; T2.Z <-- T3.W * T3.W MUL_IEEE T1.W, PV.Z, T1.Z, BS:VEC_021/SCL_122 ; T1.W <-- T0.Z * T1.Z ;; (flt(gid.x) - flt(gsize.x)/2) * 1/flt(gsize.x) RECIP_IEEE * T0.Z, T2.X, ; T0.Z <-- 1/T2.X ;; 1/flt(gsize.z) -1090519040(-5.000000e-01), 0(0.000000e+00) MULADD_IEEE T1.Z, PV.W, PV.W, PV.Z, ; T1.Z <-- T1.W * T1.W + T2.Z ;; xf^2 + yf^2 MUL_IEEE T1.W, PV.Y, PS, ; T1.W <-- T0.Y * T0.Z ;; (flt(gid.z) - flt(gsize.Z)/2) * 1/flt(gsize.z) MULLO_INT * T0.X, PV.X, KC0[1].Y, ; T0.X <-- T0.X * gsize.z MULADD_IEEE T1.W, PV.W, PV.W, PV.Z, ; T1.W <-- T1.W * T1.W + T1.Z ;; zf^2 + xf^2 + yf^2 ADD_INT * T0.W, PS, T0.W, ; T0.W <-- T0.X + gid.x LSHL T0.W, PS, literal.x, ; T0.W <-- T0.W << 2 ;; int index to ptr offset SETGT_DX10 * T1.W, literal.y, PV.W, ; T1.W <-- 0.25 > T1.W ? 0xfffffff : 0x0 2(2.802597e-45), 1048576000(2.500000e-01) AND_INT T0.X, PS, 1, ; T0.X <-- T1.W & 0x1 ADD_INT * T0.W, KC0[2].Y, PV.W, ; T0.W <-- out + T0.W LSHR * T1.X, PV.W, literal.x, ; T1.X <-- T0.W >> 2 ;; mem_rat operates on dword addresses 2(2.802597e-45), 0(0.000000e+00)