]> Chaos Git - corbenik/ctrulib.git/commitdiff
Merge branch 'master' into great-refactor
authorfincs <fincs.alt1@gmail.com>
Sat, 3 Oct 2015 16:46:04 +0000 (18:46 +0200)
committerfincs <fincs.alt1@gmail.com>
Sat, 3 Oct 2015 16:46:04 +0000 (18:46 +0200)
Conflicts:
libctru/include/3ds/services/gsp.h
libctru/source/services/gsp.c

1  2 
libctru/include/3ds/services/gsp.h
libctru/source/services/gsp.c

index 8c0307187fc6325cdb8996ced5b58a977cef7ebc,a0d8bedd50dc1fac3c33f6d4cd12d45478e93ad9..95ed3c4546736826a78c7ffac15234f9ec7552a8
@@@ -48,11 -48,21 +48,21 @@@ typedef enu
        GSPEVENT_MAX, // used to know how many events there are
  } GSP_Event;
  
 -Result gspInit();
 -void gspExit();
+ typedef enum
+ {
+       GSPLCD_TOP    = BIT(0),
+       GSPLCD_BOTTOM = BIT(1),
+       GSPLCD_BOTH   = GSPLCD_TOP | GSPLCD_BOTTOM,
+ }GSPLCD_Screens;
 +Result gspInit(void);
 +void gspExit(void);
  
 -Result gspLcdInit();
 -void gspLcdExit();
++Result gspLcdInit(void);
++void gspLcdExit(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)
  #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]);
+ Result GSPLCD_PowerOffBacklight(GSPLCD_Screens screen);
+ Result GSPLCD_PowerOnBacklight(GSPLCD_Screens screen);
index 467183e9ffb85e74347ab660c3ba40885a76569f,c3a446187180b912c1b4ab3857b0197b67c02068..9971a73da1faaa8fb70457760d6a72b378aae473
@@@ -397,6 -429,42 +398,42 @@@ Result GSPGPU_SubmitGxCommand(u32* shar
                cmdBufHeader=((cmdBufHeader)&0xFFFF00FF)|((totalCommands<<8)&0xFF00);
        }
  
 -      if(totalCommands==1)return GSPGPU_TriggerCmdReqQueue(handle);
 +      if(totalCommands==1)return GSPGPU_TriggerCmdReqQueue();
        return 0;
  }
 -Result gspLcdInit()\r
 -{\r
 -      return srvGetServiceHandle(&gspLcdHandle, "gsp::Lcd");\r
 -}\r
 -\r
 -void gspLcdExit()\r
 -{\r
 -      if(gspLcdHandle)svcCloseHandle(gspLcdHandle);\r
 -Result GSPLCD_PowerOffBacklight(GSPLCD_Screens screen)\r
 -{\r
 -      u32 *cmdbuf = getThreadCommandBuffer();\r
 -\r
 -      cmdbuf[0] = 0x00120040;\r
 -      cmdbuf[1] = screen;\r
 -\r
 -      Result ret=0;\r
++Result gspLcdInit(void)
++{
++      return srvGetServiceHandle(&gspLcdHandle, "gsp::Lcd");
++}
++
++void gspLcdExit(void)
++{
++      if(gspLcdHandle)svcCloseHandle(gspLcdHandle);
+ }
 -      return cmdbuf[1];\r
 -}\r
 -\r
 -Result GSPLCD_PowerOnBacklight(GSPLCD_Screens screen)\r
 -{\r
 -      u32 *cmdbuf = getThreadCommandBuffer();\r
 -\r
 -      cmdbuf[0] = 0x00110040;\r
 -      cmdbuf[1] = screen;\r
 -\r
 -      Result ret=0;\r
++Result GSPLCD_PowerOffBacklight(GSPLCD_Screens screen)
++{
++      u32 *cmdbuf = getThreadCommandBuffer();
++
++      cmdbuf[0] = 0x00120040;
++      cmdbuf[1] = screen;
++
++      Result ret=0;
+       if ((ret = svcSendSyncRequest(gspLcdHandle)))return ret;
 -      return cmdbuf[1];\r
++      return cmdbuf[1];
++}
++
++Result GSPLCD_PowerOnBacklight(GSPLCD_Screens screen)
++{
++      u32 *cmdbuf = getThreadCommandBuffer();
++
++      cmdbuf[0] = 0x00110040;
++      cmdbuf[1] = screen;
++
++      Result ret=0;
+       if ((ret = svcSendSyncRequest(gspLcdHandle)))return ret;
++      return cmdbuf[1];
+ }