mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-08-14 11:38:14 +00:00
gutting nosiy comments. Looking into some atom components..
This commit is contained in:
@@ -176,21 +176,21 @@ WORD_COUNT(mac_gte_sqr_v3, 8)
|
||||
WORD_COUNT(mac_gte_gpf_scale, 13)
|
||||
|
||||
#define mac_apply_matrix_lv(r_mtx, r_vec, r_out, r_t0, r_t1, r_t2) \
|
||||
load_word(r_t0, r_mtx, 0) \
|
||||
load_word( r_t0, r_mtx, 0) \
|
||||
, nop \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT11_Code) \
|
||||
, load_word(r_t0, r_mtx, 4) \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT11) \
|
||||
, load_word( r_t0, r_mtx, 4) \
|
||||
, nop \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT12_Code) \
|
||||
, load_word(r_t0, r_mtx, 8) \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT12) \
|
||||
, load_word( r_t0, r_mtx, 8) \
|
||||
, nop \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT13_Code) \
|
||||
, load_word(r_t0, r_mtx, 12) \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT13) \
|
||||
, load_word( r_t0, r_mtx, 12) \
|
||||
, nop \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT21_Code) \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT21) \
|
||||
, load_half_u(r_t0, r_mtx, 16) \
|
||||
, nop \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT22_Code) \
|
||||
, gte_mv_to_ctrl_r(r_t0, gte_cr_RT22) \
|
||||
, nop2 /* Load PACKED pos into V0 (libgte SVECTOR layout).
|
||||
* r_vec points to atom-0-staged packed data ((pos.y << 16) | pos.x at +0, pos.z at +4).
|
||||
* LWC2 base register MUST be the pointer r_vec, NOT the loaded value r_t0. */ \
|
||||
|
||||
+5
-10
@@ -106,16 +106,11 @@ FI_ Slice_MipsCode ac_apply_matrix_lv(AtomBuilder_R ab
|
||||
) MipsAtomComp_Proc_(ac_apply_matrix_lv, ab, {
|
||||
/* Load MATRIX rows into GTE RT11..RT33 (libgte convention: ctc2 to C2 $0..$4 in order).
|
||||
* load_half_u zero-extends the last word so RT33 = m[2][2] and TRX = 0. */
|
||||
load_word(r_t0, r_mtx, 0), nop,
|
||||
gte_mv_to_ctrl_r(r_t0, gte_cr_RT11_Code),
|
||||
load_word(r_t0, r_mtx, 4), nop,
|
||||
gte_mv_to_ctrl_r(r_t0, gte_cr_RT12_Code),
|
||||
load_word(r_t0, r_mtx, 8), nop,
|
||||
gte_mv_to_ctrl_r(r_t0, gte_cr_RT13_Code),
|
||||
load_word(r_t0, r_mtx, 12), nop,
|
||||
gte_mv_to_ctrl_r(r_t0, gte_cr_RT21_Code),
|
||||
load_half_u(r_t0, r_mtx, 16), nop,
|
||||
gte_mv_to_ctrl_r(r_t0, gte_cr_RT22_Code),
|
||||
load_word( r_t0, r_mtx, 0), nop, gte_mv_to_ctrl_r(r_t0, gte_cr_RT11),
|
||||
load_word( r_t0, r_mtx, 4), nop, gte_mv_to_ctrl_r(r_t0, gte_cr_RT12),
|
||||
load_word( r_t0, r_mtx, 8), nop, gte_mv_to_ctrl_r(r_t0, gte_cr_RT13),
|
||||
load_word( r_t0, r_mtx, 12), nop, gte_mv_to_ctrl_r(r_t0, gte_cr_RT21),
|
||||
load_half_u(r_t0, r_mtx, 16), nop, gte_mv_to_ctrl_r(r_t0, gte_cr_RT22),
|
||||
nop2,
|
||||
|
||||
/* Load PACKED pos into V0 (libgte SVECTOR layout).
|
||||
|
||||
@@ -9,6 +9,8 @@ ATOM_FILE_DEBUGGER_LINE_MARKER(math_atom_c);
|
||||
|
||||
#pragma region MACs (Mips Atom Component)
|
||||
|
||||
// FI_ Slice_MipsCode ac_load_imm
|
||||
|
||||
FI_ Slice_MipsCode ac_load_v2s2(AtomBuilder_R ab, U4 rs_x, U4 rs_y, U4 r_base, U4 offset) atom_dbg_skip MipsAtomComp_Proc_(ac_load_v2s2, ab, {
|
||||
load_half( rs_x, r_base, offset + O_(V3_S2,x)),
|
||||
load_half( rs_y, r_base, offset + O_(V3_S2,y)),
|
||||
|
||||
Reference in New Issue
Block a user