]> Chaos Git - corbenik/ctrulib.git/commitdiff
Remove service handle parameter from GSPGPU IPC wrappers
authorfincs <fincs.alt1@gmail.com>
Sun, 6 Sep 2015 16:04:03 +0000 (18:04 +0200)
committerfincs <fincs.alt1@gmail.com>
Sun, 6 Sep 2015 16:04:03 +0000 (18:04 +0200)
libctru/include/3ds/gfx.h
libctru/include/3ds/services/gsp.h
libctru/source/gfx.c
libctru/source/gpu/gx.c
libctru/source/services/apt.c
libctru/source/services/gsp.c

index abcd3eb87a00dcf5c02d419a720339f01c6d2499..46d69096ea35a8106b6c9166e38b8db8c0235cbf 100644 (file)
@@ -44,7 +44,7 @@ typedef enum
  *
  * @note You should always call @ref gfxExit once done to free the memory and services
  */
-void gfxInitDefault();
+void gfxInitDefault(void);
 
 /**
  * @brief Initializes the LCD framebuffers
@@ -66,7 +66,7 @@ void gfxInit(GSP_FramebufferFormats topFormat, GSP_FramebufferFormats bottomForm
  *
  * Just call it when you're done.
  */
-void gfxExit();
+void gfxExit(void);
 ///@}
 
 ///@name Control
@@ -108,7 +108,7 @@ void gfxSetDoubleBuffering(gfxScreen_t screen, bool doubleBuffering);
  * Use this if the data within your framebuffers changes a lot and that you want to make sure everything was updated correctly.
  * This shouldn't be needed and has a significant overhead.
  */
-void gfxFlushBuffers();
+void gfxFlushBuffers(void);
 
 /**
  * @brief Swaps the buffers and sets the gsp state
@@ -117,7 +117,7 @@ void gfxFlushBuffers();
  * LCD rendering should start as soon as the gsp state is set.
  * When using the GPU, call @ref gfxSwapBuffers instead.
  */
-void gfxSwapBuffers();
+void gfxSwapBuffers(void);
 
 /**
  * @brief Swaps the framebuffers
@@ -125,7 +125,7 @@ void gfxSwapBuffers();
  * This is the version to be used with the GPU since the GPU will use the gsp shared memory,
  * so the gsp state mustn't be set directly by the user.
  */
-void gfxSwapBuffersGpu();
+void gfxSwapBuffersGpu(void);
 
 ///@}
 
index e65245d5bfe46a6b3888bbd9720f2c43e050647d..8c0307187fc6325cdb8996ced5b58a977cef7ebc 100644 (file)
@@ -48,11 +48,11 @@ typedef enum
        GSPEVENT_MAX, // used to know how many events there are
 } GSP_Event;
 
-Result gspInit();
-void gspExit();
+Result gspInit(void);
+void gspExit(void);
 
 Result gspInitEventHandler(Handle gspEvent, vu8* gspSharedMem, u8 gspThreadId);
-void gspExitEventHandler();
+void gspExitEventHandler(void);
 void gspWaitForEvent(GSP_Event id, bool nextEvent);
 #define gspWaitForPSC0() gspWaitForEvent(GSPEVENT_PSC0, false)
 #define gspWaitForPSC1() gspWaitForEvent(GSPEVENT_PSC1, false)
@@ -63,19 +63,19 @@ void gspWaitForEvent(GSP_Event id, bool nextEvent);
 #define gspWaitForP3D() gspWaitForEvent(GSPEVENT_P3D, false)
 #define gspWaitForDMA() gspWaitForEvent(GSPEVENT_DMA, false)
 
-Result GSPGPU_AcquireRight(Handle *handle, u8 flags);
-Result GSPGPU_ReleaseRight(Handle *handle);
-Result GSPGPU_ImportDisplayCaptureInfo(Handle* handle, GSP_CaptureInfo *captureinfo);
-Result GSPGPU_SaveVramSysArea(Handle* handle);
-Result GSPGPU_RestoreVramSysArea(Handle* handle);
-Result GSPGPU_SetLcdForceBlack(Handle *handle, u8 flags);
-Result GSPGPU_SetBufferSwap(Handle* handle, u32 screenid, GSP_FramebufferInfo *framebufinfo);
-Result GSPGPU_FlushDataCache(Handle *handle, u8* adr, u32 size);
-Result GSPGPU_InvalidateDataCache(Handle* handle, u8* adr, u32 size);
-Result GSPGPU_WriteHWRegs(Handle *handle, u32 regAddr, u32* data, u8 size);
-Result GSPGPU_WriteHWRegsWithMask(Handle* handle, u32 regAddr, u32* data, u8 datasize, u32* maskdata, u8 masksize);
-Result GSPGPU_ReadHWRegs(Handle *handle, u32 regAddr, u32* data, u8 size);
-Result GSPGPU_RegisterInterruptRelayQueue(Handle *handle, Handle eventHandle, u32 flags, Handle* outMemHandle, u8* threadID);
-Result GSPGPU_UnregisterInterruptRelayQueue(Handle* handle);
-Result GSPGPU_TriggerCmdReqQueue(Handle *handle);
-Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle* handle);
+Result GSPGPU_AcquireRight(u8 flags);
+Result GSPGPU_ReleaseRight(void);
+Result GSPGPU_ImportDisplayCaptureInfo(GSP_CaptureInfo *captureinfo);
+Result GSPGPU_SaveVramSysArea(void);
+Result GSPGPU_RestoreVramSysArea(void);
+Result GSPGPU_SetLcdForceBlack(u8 flags);
+Result GSPGPU_SetBufferSwap(u32 screenid, GSP_FramebufferInfo *framebufinfo);
+Result GSPGPU_FlushDataCache(const void* adr, u32 size);
+Result GSPGPU_InvalidateDataCache(const void* adr, u32 size);
+Result GSPGPU_WriteHWRegs(u32 regAddr, u32* data, u8 size);
+Result GSPGPU_WriteHWRegsWithMask(u32 regAddr, u32* data, u8 datasize, u32* maskdata, u8 masksize);
+Result GSPGPU_ReadHWRegs(u32 regAddr, u32* data, u8 size);
+Result GSPGPU_RegisterInterruptRelayQueue(Handle eventHandle, u32 flags, Handle* outMemHandle, u8* threadID);
+Result GSPGPU_UnregisterInterruptRelayQueue(void);
+Result GSPGPU_TriggerCmdReqQueue(void);
+Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8]);
index c140dfc0a5e7c0131ffa84054af381ab798eaa1d..c63c28e0d9ca1948e39514d3a130652856081f64 100644 (file)
@@ -45,7 +45,7 @@ GSP_FramebufferFormats gfxGetScreenFormat(gfxScreen_t screen) {
         return botFormat;
 }
 
-void gfxSetDoubleBuffering( gfxScreen_t screen, bool doubleBuffering) {
+void gfxSetDoubleBuffering(gfxScreen_t screen, bool doubleBuffering) {
        doubleBuf[screen] = doubleBuffering ? 1 : 0; // make sure they're the integer values '1' and '0'
 }
 
@@ -119,11 +119,11 @@ void gfxInit(GSP_FramebufferFormats topFormat, GSP_FramebufferFormats bottomForm
 
        gfxSharedMemory=(u8*)0x10002000;
 
-       GSPGPU_AcquireRight(NULL, 0x0);
+       GSPGPU_AcquireRight(0x0);
 
        //setup our gsp shared mem section
        svcCreateEvent(&gspEvent, 0x0);
-       GSPGPU_RegisterInterruptRelayQueue(NULL, gspEvent, 0x1, &gspSharedMemHandle, &gfxThreadID);
+       GSPGPU_RegisterInterruptRelayQueue(gspEvent, 0x1, &gspSharedMemHandle, &gfxThreadID);
        svcMapMemoryBlock(gspSharedMemHandle, (u32)gfxSharedMemory, 0x3, 0x10000000);
 
        // default gspHeap configuration :
@@ -164,16 +164,16 @@ void gfxInit(GSP_FramebufferFormats topFormat, GSP_FramebufferFormats bottomForm
        gspInitEventHandler(gspEvent, (vu8*)gfxSharedMemory, gfxThreadID);
        gspWaitForVBlank();
 
-       GSPGPU_SetLcdForceBlack(NULL, 0x0);
+       GSPGPU_SetLcdForceBlack(0x0);
 }
 
-void gfxInitDefault() {
+void gfxInitDefault(void) {
        gfxInit(GSP_BGR8_OES,GSP_BGR8_OES,false);
 }
 
-void gfxExit()
+void gfxExit(void)
 {
-       if (screenFree == NULL ) return;
+       if (screenFree == NULL) return;
 
        // Exit event handler
        gspExitEventHandler();
@@ -189,12 +189,12 @@ void gfxExit()
        //unmap GSP shared mem
        svcUnmapMemoryBlock(gspSharedMemHandle, 0x10002000);
 
-       GSPGPU_UnregisterInterruptRelayQueue(NULL);
+       GSPGPU_UnregisterInterruptRelayQueue();
 
        svcCloseHandle(gspSharedMemHandle);
        svcCloseHandle(gspEvent);
 
-       GSPGPU_ReleaseRight(NULL);
+       GSPGPU_ReleaseRight();
 
        gspExit();
 
@@ -215,27 +215,27 @@ u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* hei
        }
 }
 
-void gfxFlushBuffers()
+void gfxFlushBuffers(void)
 {
        u32 topSize = 400 * 240 * __get_bytes_per_pixel(gfxGetScreenFormat(GFX_TOP));
        u32 bottomSize = 320 * 240 * __get_bytes_per_pixel(gfxGetScreenFormat(GFX_BOTTOM));
 
-       GSPGPU_FlushDataCache(NULL, gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), topSize);
-       if(enable3d)GSPGPU_FlushDataCache(NULL, gfxGetFramebuffer(GFX_TOP, GFX_RIGHT, NULL, NULL), topSize);
-       GSPGPU_FlushDataCache(NULL, gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL), bottomSize);
+       GSPGPU_FlushDataCache(gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), topSize);
+       if(enable3d)GSPGPU_FlushDataCache(gfxGetFramebuffer(GFX_TOP, GFX_RIGHT, NULL, NULL), topSize);
+       GSPGPU_FlushDataCache(gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL), bottomSize);
 }
 
-void gfxSwapBuffers()
+void gfxSwapBuffers(void)
 {
        currentBuffer[0]^=doubleBuf[0];
        currentBuffer[1]^=doubleBuf[1];
        gfxSetFramebufferInfo(GFX_TOP, currentBuffer[0]);
        gfxSetFramebufferInfo(GFX_BOTTOM, currentBuffer[1]);
-       GSPGPU_SetBufferSwap(NULL, GFX_TOP, &topFramebufferInfo);
-       GSPGPU_SetBufferSwap(NULL, GFX_BOTTOM, &bottomFramebufferInfo);
+       GSPGPU_SetBufferSwap(GFX_TOP, &topFramebufferInfo);
+       GSPGPU_SetBufferSwap(GFX_BOTTOM, &bottomFramebufferInfo);
 }
 
-void gfxSwapBuffersGpu()
+void gfxSwapBuffersGpu(void)
 {
        currentBuffer[0]^=doubleBuf[0];
        currentBuffer[1]^=doubleBuf[1];
index 21153436e7201f302d316e869f9b3f9598f90c8a..437dff79c523e349628dc4938a36933b6a1023c5 100644 (file)
@@ -20,7 +20,7 @@ Result GX_RequestDma(u32* src, u32* dst, u32 length)
        gxCommand[3]=length; //size
        gxCommand[4]=gxCommand[5]=gxCommand[6]=gxCommand[7]=0x0;
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
 
 Result GX_SetCommandList_Last(u32* buf0a, u32 buf0s, u8 flags)
@@ -33,7 +33,7 @@ Result GX_SetCommandList_Last(u32* buf0a, u32 buf0s, u8 flags)
        gxCommand[4]=gxCommand[5]=gxCommand[6]=0x0;
        gxCommand[7]=(flags>>1)&1; //when non-zero, call svcFlushProcessDataCache() with the specified buffer
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
 
 Result GX_SetMemoryFill(u32* buf0a, u32 buf0v, u32* buf0e, u16 control0, u32* buf1a, u32 buf1v, u32* buf1e, u16 control1)
@@ -49,7 +49,7 @@ Result GX_SetMemoryFill(u32* buf0a, u32 buf0v, u32* buf0e, u16 control0, u32* bu
        gxCommand[6]=(u32)buf1e; //buf1 end addr
        gxCommand[7]=(control0)|(control1<<16);
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
 
 // Flags, for applications this is 0x1001000 for the main screen, and 0x1000 for the sub screen.
@@ -64,7 +64,7 @@ Result GX_SetDisplayTransfer(u32* inadr, u32 indim, u32* outadr, u32 outdim, u32
        gxCommand[5]=flags;
        gxCommand[6]=gxCommand[7]=0x0;
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
 
 Result GX_SetTextureCopy(u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 size, u32 flags)
@@ -79,7 +79,7 @@ Result GX_SetTextureCopy(u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 siz
        gxCommand[6]=flags;
        gxCommand[7]=0x0;
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
 
 Result GX_SetCommandList_First(u32* buf0a, u32 buf0s, u32* buf1a, u32 buf1s, u32* buf2a, u32 buf2s)
@@ -94,5 +94,5 @@ Result GX_SetCommandList_First(u32* buf0a, u32 buf0s, u32* buf1a, u32 buf1s, u32
        gxCommand[6]=(u32)buf2s; //buf2 size
        gxCommand[7]=0x0;
 
-       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand, NULL);
+       return GSPGPU_SubmitGxCommand(gxCmdBuf, gxCommand);
 }
index 9aa30d39b7d273485ae60029b04090be9e0e14f0..ca0e6d3ff59f5aec001169ee0a7b02f385c3b08b 100644 (file)
@@ -106,7 +106,7 @@ void aptInitCaptureInfo(u32 *ns_capinfo)
        memset(&gspcapinfo, 0, sizeof(GSP_CaptureInfo));
 
        // Get display-capture info from GSP.
-       GSPGPU_ImportDisplayCaptureInfo(NULL, &gspcapinfo);
+       GSPGPU_ImportDisplayCaptureInfo(&gspcapinfo);
 
        // Fill in display-capture info for NS.
        if(gspcapinfo.screencapture[0].framebuf0_vaddr != gspcapinfo.screencapture[0].framebuf1_vaddr)ns_capinfo[1] = 1;
@@ -212,7 +212,7 @@ void aptReturnToMenu(void)
        aptCloseSession();
 
        // Save Vram
-       GSPGPU_SaveVramSysArea(NULL);
+       GSPGPU_SaveVramSysArea();
 
        // Capture screen.
        memset(__ns_capinfo, 0, 0x20);
@@ -231,7 +231,7 @@ void aptReturnToMenu(void)
        aptCloseSession();
 
        // Release GSP module.
-       GSPGPU_ReleaseRight(NULL);
+       GSPGPU_ReleaseRight();
 
        // Jump to menu!
        aptOpenSession();
@@ -296,8 +296,8 @@ void aptAppletClosed(void)
 {
        aptAppletUtility_Exit_RetToApp(1);
 
-       GSPGPU_AcquireRight(NULL, 0x0);
-       GSPGPU_RestoreVramSysArea(NULL);
+       GSPGPU_AcquireRight(0x0);
+       GSPGPU_RestoreVramSysArea();
 
        svcClearEvent(aptStatusEvent);
        aptSetStatus(APP_RUNNING);
@@ -361,7 +361,7 @@ static void __handle_notification(void) {
        case APTSIGNAL_WAKEUP:
                if(aptGetStatus() == APP_SLEEPMODE)
                {
-                       if(aptStatusBeforeSleep == APP_RUNNING)GSPGPU_SetLcdForceBlack(NULL, 0);
+                       if(aptStatusBeforeSleep == APP_RUNNING)GSPGPU_SetLcdForceBlack(0);
 
                        // Restore old aptStatus.
                        aptSetStatus(aptStatusBeforeSleep);
@@ -397,8 +397,8 @@ static bool __handle_incoming_parameter(void) {
        case 0xB: // Just returned from menu.
                if (aptStatusMutex)
                {
-                       GSPGPU_AcquireRight(NULL, 0x0);
-                       GSPGPU_RestoreVramSysArea(NULL);
+                       GSPGPU_AcquireRight(0x0);
+                       GSPGPU_RestoreVramSysArea();
                        aptAppletUtility_Exit_RetToApp(0);
                        aptSetStatus(APP_RUNNING);
                } else
@@ -1230,7 +1230,7 @@ Result APT_LaunchLibraryApplet(NS_APPID appID, Handle inhandle, u32 *parambuf, u
        aptSetStatus(APP_SUSPENDED);
 
        // Save Vram
-       GSPGPU_SaveVramSysArea(NULL);
+       GSPGPU_SaveVramSysArea();
 
        // Capture screen.
        memset(__ns_capinfo, 0, 0x20);
@@ -1243,7 +1243,7 @@ Result APT_LaunchLibraryApplet(NS_APPID appID, Handle inhandle, u32 *parambuf, u
        aptCloseSession();
 
        // Release GSP module.
-       GSPGPU_ReleaseRight(NULL);
+       GSPGPU_ReleaseRight();
 
        return 0;
 }
index 023471244c82ef5c665a60487df232833a8c75b5..9e48e9fc57cae2797f18d0ba2b084516809ea98f 100644 (file)
@@ -23,13 +23,12 @@ static vu8* gspEventData;
 
 static void gspEventThreadMain(void *arg);
 
-
-Result gspInit()
+Result gspInit(void)
 {
        return srvGetServiceHandle(&gspGpuHandle, "gsp::Gpu");
 }
 
-void gspExit()
+void gspExit(void)
 {
        if(gspGpuHandle)svcCloseHandle(gspGpuHandle);
 }
@@ -58,7 +57,7 @@ Result gspInitEventHandler(Handle _gspEvent, vu8* _gspSharedMem, u8 gspThreadId)
        return svcCreateThread(&gspEventThread, gspEventThreadMain, 0x0, (u32*)((char*)gspEventStack + sizeof(gspEventStack)), 0x31, 0xfffffffe);
 }
 
-void gspExitEventHandler()
+void gspExitEventHandler(void)
 {
        // Stop event thread
        gspRunEvents = false;
@@ -111,10 +110,8 @@ void gspEventThreadMain(void *arg)
        svcExitThread();
 }
 
-Result GSPGPU_WriteHWRegs(Handle* handle, u32 regAddr, u32* data, u8 size)
+Result GSPGPU_WriteHWRegs(u32 regAddr, u32* data, u8 size)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        if(size>0x80 || !data)return -1;
 
        u32* cmdbuf=getThreadCommandBuffer();
@@ -125,15 +122,13 @@ Result GSPGPU_WriteHWRegs(Handle* handle, u32 regAddr, u32* data, u8 size)
        cmdbuf[4]=(u32)data;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_WriteHWRegsWithMask(Handle* handle, u32 regAddr, u32* data, u8 datasize, u32* maskdata, u8 masksize)
+Result GSPGPU_WriteHWRegsWithMask(u32 regAddr, u32* data, u8 datasize, u32* maskdata, u8 masksize)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        if(datasize>0x80 || !data)return -1;
 
        u32* cmdbuf=getThreadCommandBuffer();
@@ -146,15 +141,13 @@ Result GSPGPU_WriteHWRegsWithMask(Handle* handle, u32 regAddr, u32* data, u8 dat
        cmdbuf[6]=(u32)maskdata;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_ReadHWRegs(Handle* handle, u32 regAddr, u32* data, u8 size)
+Result GSPGPU_ReadHWRegs(u32 regAddr, u32* data, u8 size)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        if(size>0x80 || !data)return -1;
 
        u32* cmdbuf=getThreadCommandBuffer();
@@ -165,31 +158,27 @@ Result GSPGPU_ReadHWRegs(Handle* handle, u32 regAddr, u32* data, u8 size)
        cmdbuf[0x40+1]=(u32)data;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_SetBufferSwap(Handle* handle, u32 screenid, GSP_FramebufferInfo *framebufinfo)
+Result GSPGPU_SetBufferSwap(u32 screenid, GSP_FramebufferInfo *framebufinfo)
 {
-       Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       if(!handle)handle=&gspGpuHandle;
-
        cmdbuf[0] = 0x00050200;
        cmdbuf[1] = screenid;
        memcpy(&cmdbuf[2], framebufinfo, sizeof(GSP_FramebufferInfo));
 
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       Result ret=0;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_FlushDataCache(Handle* handle, u8* adr, u32 size)
+Result GSPGPU_FlushDataCache(const void* adr, u32 size)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x00080082; //request header code
        cmdbuf[1]=(u32)adr;
@@ -198,60 +187,52 @@ Result GSPGPU_FlushDataCache(Handle* handle, u8* adr, u32 size)
        cmdbuf[4]=0xffff8001;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_InvalidateDataCache(Handle* handle, u8* adr, u32 size)
+Result GSPGPU_InvalidateDataCache(const void* adr, u32 size)
 {
-       Result ret=0;
        u32 *cmdbuf = getThreadCommandBuffer();
 
-       if(!handle)handle=&gspGpuHandle;
-
        cmdbuf[0] = 0x00090082;
        cmdbuf[1] = (u32)adr;
        cmdbuf[2] = size;
        cmdbuf[3] = 0;
        cmdbuf[4] = 0xFFFF8001;
 
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       Result ret=0;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_SetLcdForceBlack(Handle* handle, u8 flags)
+Result GSPGPU_SetLcdForceBlack(u8 flags)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x000B0040; //request header code
        cmdbuf[1]=flags;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_TriggerCmdReqQueue(Handle* handle)
+Result GSPGPU_TriggerCmdReqQueue(void)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x000C0000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_RegisterInterruptRelayQueue(Handle* handle, Handle eventHandle, u32 flags, Handle* outMemHandle, u8* threadID)
+Result GSPGPU_RegisterInterruptRelayQueue(Handle eventHandle, u32 flags, Handle* outMemHandle, u8* threadID)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x00130042; //request header code
        cmdbuf[1]=flags;
@@ -259,7 +240,7 @@ Result GSPGPU_RegisterInterruptRelayQueue(Handle* handle, Handle eventHandle, u3
        cmdbuf[3]=eventHandle;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        if(threadID)*threadID=cmdbuf[2];
        if(outMemHandle)*outMemHandle=cmdbuf[4];
@@ -267,23 +248,19 @@ Result GSPGPU_RegisterInterruptRelayQueue(Handle* handle, Handle eventHandle, u3
        return cmdbuf[1];
 }
 
-Result GSPGPU_UnregisterInterruptRelayQueue(Handle* handle)
+Result GSPGPU_UnregisterInterruptRelayQueue(void)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x00140000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_AcquireRight(Handle* handle, u8 flags)
+Result GSPGPU_AcquireRight(u8 flags)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x160042; //request header code
        cmdbuf[1]=flags;
@@ -291,33 +268,29 @@ Result GSPGPU_AcquireRight(Handle* handle, u8 flags)
        cmdbuf[3]=0xffff8001;
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_ReleaseRight(Handle* handle)
+Result GSPGPU_ReleaseRight(void)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x170000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_ImportDisplayCaptureInfo(Handle* handle, GSP_CaptureInfo *captureinfo)
+Result GSPGPU_ImportDisplayCaptureInfo(GSP_CaptureInfo *captureinfo)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x00180000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        ret = cmdbuf[1];
 
@@ -329,28 +302,24 @@ Result GSPGPU_ImportDisplayCaptureInfo(Handle* handle, GSP_CaptureInfo *capturei
        return ret;
 }
 
-Result GSPGPU_SaveVramSysArea(Handle* handle)
+Result GSPGPU_SaveVramSysArea(void)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x00190000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
 
-Result GSPGPU_RestoreVramSysArea(Handle* handle)
+Result GSPGPU_RestoreVramSysArea(void)
 {
-       if(!handle)handle=&gspGpuHandle;
-
        u32* cmdbuf=getThreadCommandBuffer();
        cmdbuf[0]=0x001A0000; //request header code
 
        Result ret=0;
-       if((ret=svcSendSyncRequest(*handle)))return ret;
+       if((ret=svcSendSyncRequest(gspGpuHandle)))return ret;
 
        return cmdbuf[1];
 }
@@ -358,7 +327,7 @@ Result GSPGPU_RestoreVramSysArea(Handle* handle)
 //essentially : get commandIndex and totalCommands, calculate offset of new command, copy command and update totalCommands
 //use LDREX/STREX because this data may also be accessed by the GSP module and we don't want to break stuff
 //(mostly, we could overwrite the buffer header with wrong data and make the GSP module reexecute old commands)
-Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle* handle)
+Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8])
 {
        if(!sharedGspCmdBuf || !gxCommand)return -1;
 
@@ -390,6 +359,6 @@ Result GSPGPU_SubmitGxCommand(u32* sharedGspCmdBuf, u32 gxCommand[0x8], Handle*
                cmdBufHeader=((cmdBufHeader)&0xFFFF00FF)|((totalCommands<<8)&0xFF00);
        }
 
-       if(totalCommands==1)return GSPGPU_TriggerCmdReqQueue(handle);
+       if(totalCommands==1)return GSPGPU_TriggerCmdReqQueue();
        return 0;
 }