From: smea Date: Tue, 26 Aug 2014 04:48:00 +0000 (-0700) Subject: GSP/GFX stuff X-Git-Tag: v0.2.0~104 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=d30d5283c676926ae833bfdb5f87bc7d7e51e042;p=corbenik%2Fctrulib.git GSP/GFX stuff --- diff --git a/libctru/source/gfx.c b/libctru/source/gfx.c index bbc0dd8..e3c78c4 100644 --- a/libctru/source/gfx.c +++ b/libctru/source/gfx.c @@ -26,8 +26,6 @@ u8* gspHeap; u32* gxCmdBuf; extern u32 __gsp_heap_size; - - // TODO: this function is not thread-safe and you cannot 'free' this memory. void* gfxAllocLinear(size_t size) { diff --git a/libctru/source/services/gsp.c b/libctru/source/services/gsp.c index af95c0f..377547a 100644 --- a/libctru/source/services/gsp.c +++ b/libctru/source/services/gsp.c @@ -356,6 +356,9 @@ Result GSPGPU_RestoreVramSysArea(Handle* handle) Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle* handle) { if(!sharedGspCmdBuf || !gxCommand)return -1; + + svcWaitSynchronization(gspEvent, 0x55bcb0); + svcClearEvent(gspEvent); u32 cmdBufHeader; __asm__ ("ldrex %[result], [%[adr]]" : [result] "=r" (cmdBufHeader) : [adr] "r" (sharedGspCmdBuf));