]> Chaos Git - corbenik/ctrulib.git/commitdiff
GSP/GFX stuff
authorsmea <smealum@gmail.com>
Tue, 26 Aug 2014 04:48:00 +0000 (21:48 -0700)
committersmea <smealum@gmail.com>
Tue, 26 Aug 2014 04:48:00 +0000 (21:48 -0700)
libctru/source/gfx.c
libctru/source/services/gsp.c

index bbc0dd841f8f51b1e0f1cfbe44aea4b42b3a4742..e3c78c42e6fdada95584867f56789b068e702ccc 100644 (file)
@@ -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)
 {
index af95c0fd8a98b7c40939dc0d169a8d98d94ee786..377547a7ac7d2652d16568530392df930242cae4 100644 (file)
@@ -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));