From 2a1c7c8ea9bf7f5fc8380b18b36c12d75d1cf79f Mon Sep 17 00:00:00 2001 From: smea Date: Thu, 28 Aug 2014 22:53:45 -0700 Subject: [PATCH] some GSP and GPU fixes --- libctru/source/gpu/gpu.c | 8 ++++++-- libctru/source/services/gsp.c | 3 --- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libctru/source/gpu/gpu.c b/libctru/source/gpu/gpu.c index 5c995f8..d6685e3 100644 --- a/libctru/source/gpu/gpu.c +++ b/libctru/source/gpu/gpu.c @@ -10,6 +10,8 @@ u32* gpuCmdBuf; u32 gpuCmdBufSize; u32 gpuCmdBufOffset; +extern Handle gspEvent; + void GPU_Init(Handle *gsphandle) { gpuCmdBuf=NULL; @@ -26,6 +28,7 @@ void GPUCMD_SetBuffer(u32* adr, u32 size, u32 offset) void GPUCMD_Run(u32* gxbuf) { + //should wait for some event here GX_SetCommandList_First(gxbuf, gpuCmdBuf, gpuCmdBufOffset*4, NULL, 0, NULL, 0); GX_SetCommandList_Last(gxbuf, gpuCmdBuf, gpuCmdBufOffset*4, 0x0); } @@ -62,8 +65,6 @@ void GPUCMD_AddSingleParam(u32 cmd, u32 param) void GPUCMD_Finalize() { - GPUCMD_AddSingleParam(0x000F0111, 0x00000001); - GPUCMD_AddSingleParam(0x000F0110, 0x00000001); GPUCMD_AddSingleParam(0x000F0010, 0x12345678); } @@ -382,6 +383,9 @@ void GPU_DrawArray(GPU_Primitive_t primitive, u32 n) GPUCMD_AddSingleParam(0x000F022E, 0x00000001); GPUCMD_AddSingleParam(0x00010245, 0x00000001); GPUCMD_AddSingleParam(0x000F0231, 0x00000001); + + GPUCMD_AddSingleParam(0x000F0111, 0x00000001); + GPUCMD_AddSingleParam(0x000F0110, 0x00000001); } void GPU_DrawElements(GPU_Primitive_t primitive, u32* indexArray, u32 n) diff --git a/libctru/source/services/gsp.c b/libctru/source/services/gsp.c index f0f72d3..bd76035 100644 --- a/libctru/source/services/gsp.c +++ b/libctru/source/services/gsp.c @@ -354,9 +354,6 @@ Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle* { if(!sharedGspCmdBuf || !gxCommand)return -1; - svcWaitSynchronization(gspEvent, 0x55bcb0); - svcClearEvent(gspEvent); - u32 cmdBufHeader; __asm__ __volatile__ ("ldrex %[result], [%[adr]]" : [result] "=r" (cmdBufHeader) : [adr] "r" (sharedGspCmdBuf)); -- 2.39.5