1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-06-25 22:09:35 +00:00

Store texrect command parameters in RDP.w0 and RDP.w1

This commit is contained in:
Sergey Lipskiy 2018-09-04 16:42:06 +07:00
parent ec54a9a672
commit fac72ddf5a
2 changed files with 8 additions and 6 deletions

View File

@ -296,6 +296,8 @@ void _TexRect( u32 w0, u32 w1, bool flip )
u32 w2, w3;
if (!_getTexRectParams(w2, w3))
return;
RDP.w0 = w0;
RDP.w1 = w1;
const u32 ulx = _SHIFTR(w1, 12, 12);
const u32 uly = _SHIFTR(w1, 0, 12);
const u32 lrx = _SHIFTR(w0, 12, 12);
@ -408,7 +410,7 @@ void RDP_Init()
GBI.cmd[G_TEXRECT] = RDP_TexRect;
GBI.cmd[G_RDPNOOP] = RDP_NoOp;
RDP.w2 = RDP.w3 = 0;
RDP.w0 = RDP.w1 = RDP.w2 = RDP.w3 = 0;
RDP.cmd_ptr = RDP.cmd_cur = 0;
}
@ -585,12 +587,12 @@ void RDP_ProcessRDPList()
::memcpy(RDP.cmd_data + MAXCMD, RDP.cmd_data, CmdLength[cmd] - (MAXCMD - RDP.cmd_cur) * 4);
// execute the command
u32 w0 = RDP.cmd_data[RDP.cmd_cur+0];
u32 w1 = RDP.cmd_data[RDP.cmd_cur+1];
RDP.w2 = RDP.cmd_data[RDP.cmd_cur+2];
RDP.w0 = RDP.cmd_data[RDP.cmd_cur + 0];
RDP.w1 = RDP.cmd_data[RDP.cmd_cur + 1];
RDP.w2 = RDP.cmd_data[RDP.cmd_cur + 2];
RDP.w3 = RDP.cmd_data[RDP.cmd_cur + 3];
RSP.cmd = cmd;
LLEcmd[cmd](w0, w1);
LLEcmd[cmd](RDP.w0, RDP.w1);
RDP.cmd_cur = (RDP.cmd_cur + CmdLength[cmd] / 4) & maxCMDMask;
}

View File

@ -6,7 +6,7 @@ const unsigned int maxCMDMask = MAXCMD - 1;
typedef struct
{
u32 w2, w3;
u32 w0, w1, w2, w3;
u32 cmd_ptr;
u32 cmd_cur;
u32 cmd_data[MAXCMD + 32];