GPUCMD_GetBuffer, GPUCMD_AddRawCommands

This commit is contained in:
smea 2014-11-09 00:40:23 -08:00
parent 6d2a0f5fa3
commit c1f6773fb6
2 changed files with 17 additions and 0 deletions

View File

@ -4,6 +4,8 @@ void GPU_Init(Handle *gsphandle);
void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize); void GPU_Reset(u32* gxbuf, u32* gpuBuf, u32 gpuBufSize);
void GPUCMD_SetBuffer(u32* adr, u32 size, u32 offset); void GPUCMD_SetBuffer(u32* adr, u32 size, u32 offset);
void GPUCMD_GetBuffer(u32** adr, u32* size, u32* offset);
void GPUCMD_AddRawCommands(u32* cmd, u32 size);
void GPUCMD_Run(u32* gxbuf); void GPUCMD_Run(u32* gxbuf);
void GPUCMD_FlushAndRun(u32* gxbuf); void GPUCMD_FlushAndRun(u32* gxbuf);
void GPUCMD_Add(u32 cmd, u32* param, u32 paramlength); void GPUCMD_Add(u32 cmd, u32* param, u32 paramlength);

View File

@ -26,6 +26,21 @@ void GPUCMD_SetBuffer(u32* adr, u32 size, u32 offset)
gpuCmdBufOffset=offset; gpuCmdBufOffset=offset;
} }
void GPUCMD_GetBuffer(u32** adr, u32* size, u32* offset)
{
if(adr)*adr=gpuCmdBuf;
if(size)*size=gpuCmdBufSize;
if(offset)*offset=gpuCmdBufOffset;
}
void GPUCMD_AddRawCommands(u32* cmd, u32 size)
{
if(!cmd || !size)return;
memcpy(&gpuCmdBuf[gpuCmdBufOffset], cmd, size*4);
gpuCmdBufOffset+=size;
}
void GPUCMD_Run(u32* gxbuf) void GPUCMD_Run(u32* gxbuf)
{ {
GX_SetCommandList_First(gxbuf, gpuCmdBuf, gpuCmdBufOffset*4, NULL, 0, NULL, 0); GX_SetCommandList_First(gxbuf, gpuCmdBuf, gpuCmdBufOffset*4, NULL, 0, NULL, 0);