add a way for GPU plugin to get layer config
[pcsx_rearmed.git] / plugins / gpu-gles / gpuPlugin.c
index 07f158c..897c942 100644 (file)
@@ -154,6 +154,8 @@ int             iFakePrimBusy = 0;
 int             iRumbleVal    = 0;\r
 int             iRumbleTime   = 0;\r
 \r
+static void (*rearmed_get_layer_pos)(int *x, int *y, int *w, int *h);\r
+\r
 ////////////////////////////////////////////////////////////////////////\r
 // stuff to make this a true PDK module\r
 ////////////////////////////////////////////////////////////////////////\r
@@ -396,7 +398,7 @@ void DoSnapShot(void)
 #ifdef _WINDOWS\r
 void CALLBACK GPUmakeSnapshot(void)\r
 #else\r
-void CALLBACK GPU_makeSnapshot(void)\r
+void CALLBACK GPUmakeSnapshot(void)\r
 #endif\r
 {\r
  //bSnapShot = TRUE;\r
@@ -409,7 +411,7 @@ void CALLBACK GPU_makeSnapshot(void)
 #ifdef _WINDOWS\r
 long CALLBACK GPUinit()\r
 #else\r
-long CALLBACK GPU_init()\r
+long CALLBACK GPUinit()\r
 #endif\r
 {\r
 memset(ulStatusControl,0,256*sizeof(unsigned long));\r
@@ -543,7 +545,7 @@ HMENU hPSEMenu=NULL;
 \r
 long CALLBACK GPUopen(HWND hwndGPU)                    \r
 #else\r
-long CALLBACK GPU_open(int hwndGPU)                    \r
+long CALLBACK GPUopen(int hwndGPU)\r
 #endif\r
 {\r
        #ifdef _WINDOWS\r
@@ -555,12 +557,13 @@ long CALLBACK GPU_open(int hwndGPU)
 \r
 \r
 \r
-                \r
-                \r
        #ifdef _WINDOWS\r
         iResX=240;iResY=320;\r
        #endif\r
-        iColDepth=32;\r
+#ifdef MAEMO_CHANGES\r
+         iResX=800;iResY=480;\r
+#endif\r
+        iColDepth=8;\r
         bChangeRes=FALSE;\r
        #ifdef _WINDOWS\r
         bWindowMode=TRUE;\r
@@ -705,7 +708,7 @@ long CALLBACK GPUclose()                               // WINDOWS CLOSE
 \r
 #else\r
 \r
-long GPU_close()                                        // LINUX CLOSE\r
+long GPUclose()                                        // LINUX CLOSE\r
 {\r
  GLcleanup();                                          // close OGL\r
 \r
@@ -725,7 +728,7 @@ long GPU_close()                                        // LINUX CLOSE
 #ifdef _WINDOWS\r
 long CALLBACK GPUshutdown()\r
 #else\r
-long CALLBACK GPU_shutdown()\r
+long CALLBACK GPUshutdown()\r
 #endif\r
 {\r
  if(psxVSecure) free(psxVSecure);                      // kill emulated vram memory\r
@@ -783,7 +786,7 @@ void SetScanLines(void)
 \r
 int iLastRGB24=0;                                      // special vars for checking when to skip two display updates\r
 int iSkipTwo=0;\r
-void GPU_vSinc(void){\r
+void GPUvSinc(void){\r
 updateDisplay();\r
 }\r
 void updateDisplay(void)                               // UPDATE DISPLAY\r
@@ -1118,6 +1121,7 @@ float xs,ys,s;RECT r;
 if(!PSXDisplay.DisplayModeNew.x) return;\r
 if(!PSXDisplay.DisplayModeNew.y) return;\r
 \r
+#if 0\r
 xs=(float)iResX/(float)PSXDisplay.DisplayModeNew.x;\r
 ys=(float)iResY/(float)PSXDisplay.DisplayModeNew.y;\r
 \r
@@ -1169,7 +1173,11 @@ if(r.bottom<rRatioRect.bottom ||
  }\r
 \r
 rRatioRect=r;\r
-\r
+#else\r
+ // pcsx-rearmed hack\r
+ if (rearmed_get_layer_pos != NULL)\r
+   rearmed_get_layer_pos(&rRatioRect.left, &rRatioRect.top, &rRatioRect.right, &rRatioRect.bottom);\r
+#endif\r
 \r
 glViewport(rRatioRect.left,\r
            iResY-(rRatioRect.top+rRatioRect.bottom),\r
@@ -1314,7 +1322,7 @@ static unsigned short usFirstPos=2;
 #ifdef _WINDOWS\r
 void CALLBACK GPUupdateLace(void)\r
 #else\r
-void CALLBACK GPU_updateLace(void)\r
+void CALLBACK GPUupdateLace(void)\r
 #endif\r
 {\r
 if(!(dwActFixes&0x1000))                               \r
@@ -1356,7 +1364,7 @@ if(bChangeWinMode) ChangeWindowMode();
 #ifdef _WINDOWS\r
 unsigned long CALLBACK GPUreadStatus(void)\r
 #else\r
-unsigned long CALLBACK GPU_readStatus(void)\r
+unsigned long CALLBACK GPUreadStatus(void)\r
 #endif\r
 {\r
 if(dwActFixes&0x1000)                                 // CC game fix\r
@@ -1396,7 +1404,7 @@ return STATUSREG;
 #ifdef _WINDOWS\r
 void CALLBACK GPUwriteStatus(unsigned long gdata)\r
 #else\r
-void CALLBACK GPU_writeStatus(unsigned long gdata)\r
+void CALLBACK GPUwriteStatus(unsigned long gdata)\r
 #endif\r
 {\r
 unsigned long lCommand=(gdata>>24)&0xff;\r
@@ -2012,7 +2020,7 @@ void CheckVRamRead(int x, int y, int dx, int dy, bool bFront)
 #ifdef _WINDOWS\r
 void CALLBACK GPUreadDataMem(unsigned int * pMem, int iSize)\r
 #else\r
-void CALLBACK GPU_readDataMem(unsigned long * pMem, int iSize)\r
+void CALLBACK GPUreadDataMem(unsigned long * pMem, int iSize)\r
 #endif\r
 {\r
 int i;\r
@@ -2088,14 +2096,14 @@ GPUIsIdle;
 #ifdef _WINDOWS\r
 unsigned long CALLBACK GPUreadData(void)\r
 #else\r
-unsigned long CALLBACK GPU_readData(void)\r
+unsigned long CALLBACK GPUreadData(void)\r
 #endif\r
 {\r
  unsigned long l;\r
 #ifdef _WINDOWS\r
  GPUreadDataMem(&l,1);\r
 #else\r
- GPU_readDataMem(&l,1);\r
+ GPUreadDataMem(&l,1);\r
 #endif \r
  return GPUdataRet;\r
 }\r
@@ -2181,7 +2189,7 @@ const u8 primTableCX[256] =
 #ifdef _WINDOWS\r
 void CALLBACK GPUwriteDataMem(unsigned long * pMem, int iSize)\r
 #else\r
-void CALLBACK GPU_writeDataMem(unsigned long * pMem, int iSize)\r
+void CALLBACK GPUwriteDataMem(unsigned long * pMem, int iSize)\r
 #endif\r
 {\r
 u8 command;\r
@@ -2304,13 +2312,13 @@ GPUIsIdle;
 #ifdef _WINDOWS\r
 void CALLBACK GPUwriteData(unsigned long gdata)\r
 #else\r
-void CALLBACK GPU_writeData(unsigned long gdata)\r
+void CALLBACK GPUwriteData(unsigned long gdata)\r
 #endif\r
 {\r
 #ifdef _WINDOWS\r
  GPUwriteDataMem(&gdata,1);\r
 #else\r
- GPU_writeDataMem(&gdata,1);\r
+ GPUwriteDataMem(&gdata,1);\r
 #endif \r
 }\r
 \r
@@ -2398,7 +2406,7 @@ void StartCfgTool(s8 * pCmdLine)                     // linux: start external cf
 #ifdef _WINDOWS\r
 long CALLBACK GPUconfigure(void)\r
 #else\r
-long CALLBACK GPU_configure(void)\r
+long CALLBACK GPUconfigure(void)\r
 #endif\r
 {\r
 \r
@@ -2452,7 +2460,7 @@ return FALSE;
 #ifdef _WINDOWS\r
 long CALLBACK GPUdmaChain(unsigned long * baseAddrL, unsigned long addr)\r
 #else\r
-long CALLBACK GPU_dmaChain(unsigned long * baseAddrL, unsigned long addr)\r
+long CALLBACK GPUdmaChain(unsigned long * baseAddrL, unsigned long addr)\r
 #endif\r
 {\r
 unsigned long dmaMem;\r
@@ -2481,7 +2489,7 @@ do
 #ifdef _WINDOWS\r
   if(count>0) GPUwriteDataMem(&baseAddrL[dmaMem>>2],count);\r
 #else\r
-  if(count>0) GPU_writeDataMem(&baseAddrL[dmaMem>>2],count);\r
+  if(count>0) GPUwriteDataMem(&baseAddrL[dmaMem>>2],count);\r
 #endif\r
   \r
   addr = baseAddrL[addr>>2]&0xffffff;\r
@@ -2500,7 +2508,7 @@ return 0;
 #ifdef _WINDOWS\r
 void CALLBACK GPUabout(void)\r
 #else\r
-void CALLBACK GPU_about(void)\r
+void CALLBACK GPUabout(void)\r
 #endif\r
 {\r
 \r
@@ -2513,7 +2521,7 @@ void CALLBACK GPU_about(void)
 #ifdef _WINDOWS\r
 long CALLBACK GPUtest(void)\r
 #else\r
-long CALLBACK GPU_test(void)\r
+long CALLBACK GPUtest(void)\r
 #endif\r
 {\r
  // if test fails this function should return negative value for error (unable to continue)\r
@@ -2531,7 +2539,7 @@ long CALLBACK GPU_test(void)
 #ifdef _WINDOWS\r
 long CALLBACK GPUfreeze(unsigned long ulGetFreezeData,GPUFreeze_t * pF)\r
 #else\r
-long CALLBACK GPU_freeze(unsigned long ulGetFreezeData,GPUFreeze_t * pF)\r
+long CALLBACK GPUfreeze(unsigned long ulGetFreezeData,GPUFreeze_t * pF)\r
 #endif\r
 {\r
 if(ulGetFreezeData==2) \r
@@ -2574,15 +2582,15 @@ ResetTextureArea(TRUE);
  GPUwriteStatus(ulStatusControl[5]);\r
  GPUwriteStatus(ulStatusControl[4]);\r
 #else\r
- GPU_writeStatus(ulStatusControl[0]);\r
- GPU_writeStatus(ulStatusControl[1]);\r
- GPU_writeStatus(ulStatusControl[2]);\r
- GPU_writeStatus(ulStatusControl[3]);\r
- GPU_writeStatus(ulStatusControl[8]);\r
- GPU_writeStatus(ulStatusControl[6]);\r
- GPU_writeStatus(ulStatusControl[7]);\r
- GPU_writeStatus(ulStatusControl[5]);\r
- GPU_writeStatus(ulStatusControl[4]);\r
+ GPUwriteStatus(ulStatusControl[0]);\r
+ GPUwriteStatus(ulStatusControl[1]);\r
+ GPUwriteStatus(ulStatusControl[2]);\r
+ GPUwriteStatus(ulStatusControl[3]);\r
+ GPUwriteStatus(ulStatusControl[8]);\r
+ GPUwriteStatus(ulStatusControl[6]);\r
+ GPUwriteStatus(ulStatusControl[7]);\r
+ GPUwriteStatus(ulStatusControl[5]);\r
+ GPUwriteStatus(ulStatusControl[4]);\r
 #endif\r
  return 1;\r
 }\r
@@ -2834,7 +2842,7 @@ void PaintPicDot(u8 * p,u8 c)
 #ifdef _WINDOWS\r
 void CALLBACK GPUgetScreenPic(u8 * pMem)\r
 #else\r
-long CALLBACK GPU_getScreenPic(u8 * pMem)\r
+long CALLBACK GPUgetScreenPic(u8 * pMem)\r
 #endif\r
 {\r
  float XS,YS;int x,y,v;\r
@@ -2917,7 +2925,7 @@ long CALLBACK GPU_getScreenPic(u8 * pMem)
 #ifdef _WINDOWS\r
 void CALLBACK GPUshowScreenPic(u8 * pMem)\r
 #else\r
-long CALLBACK GPU_showScreenPic(u8 * pMem)\r
+long CALLBACK GPUshowScreenPic(u8 * pMem)\r
 #endif\r
 {\r
 // DestroyPic();\r
@@ -2958,3 +2966,10 @@ void CALLBACK GPUdisplayFlags(unsigned long dwFlags)
 {\r
 // dwCoreFlags=dwFlags;\r
 }\r
+\r
+// pcsx-rearmed callbacks\r
+void CALLBACK GPUrearmedCallbacks(const void **cbs)\r
+{\r
+ rearmed_get_layer_pos = cbs[0];\r
+}\r
+\r