rice: remove NEON debug code
authornotaz <notasas@gmail.com>
Sun, 22 Jun 2014 20:35:17 +0000 (23:35 +0300)
committernotaz <notasas@gmail.com>
Mon, 23 Jun 2014 19:37:16 +0000 (22:37 +0300)
source/gles2rice/src/RenderBase.cpp

index 429f51d..1598618 100644 (file)
@@ -1542,97 +1542,6 @@ extern "C" void pv_neon(XVECTOR4 *g_vtxTransformed, XVECTOR4 *g_vecProjected,
     uint32 gRSPnumLights, float gRSPfFogMin,
     uint32 primitiveColor, uint32 primitiveColor_);
 
-// debug
-//#define DO_CMP
-#ifdef DO_CMP
-// note: don't forget -fno-associative-math
-static XVECTOR4 n_transformed[2], n_projected[2];
-static uint32 n_color[2];
-static VECTOR2 n_vtxcoords[2];
-static float n_fogcoord[2];
-static uint32 n_clipflag2[2];
-
-static int do_cmp_f(void *a, void *b, int c)
-{
-    int *ia = (int *)a, *ib = (int *)b;
-    for (int i = 0; i < c; i++) {
-        int di = abs(ia[i] - ib[i]);
-        if (di > 7) {
-            printf("di: %d\n", di);
-            return 1;
-        }
-    }
-    return 0;
-}
-
-static int do_cmp_c(uint32 a, uint32 b)
-{
-    if (abs(((a >> 0) & 0xff) - ((b >> 0) & 0xff)) > 1)
-        return 1;
-    if (abs(((a >> 8) & 0xff) - ((b >> 8) & 0xff)) > 1)
-        return 1;
-    if (abs(((a >> 16) & 0xff) - ((b >> 16) & 0xff)) > 1)
-        return 1;
-    if (abs(((a >> 24) & 0xff) - ((b >> 24) & 0xff)) > 1)
-        return 1;
-
-    return 0;
-}
-
-static void do_cmp(int i, int s, int neon_state)
-{
-    static int ccnt;
-    int bad = 0;
-
-    // if (memcmp(&n_transformed, &g_vtxTransformed[i], sizeof(XVECTOR4)))
-    if (do_cmp_f(&n_transformed[s], &g_vtxTransformed[i], 4)) {
-        printf("transformed:\n%13.8e %13.8e %13.8e %13.8e\n"
-               "%13.8e %13.8e %13.8e %13.8e\n",
-            n_transformed[s].x, n_transformed[s].y,
-            n_transformed[s].z, n_transformed[s].w,
-            g_vtxTransformed[i].x, g_vtxTransformed[i].y,
-            g_vtxTransformed[i].z, g_vtxTransformed[i].w);
-        bad = 1;
-    }
-    if (do_cmp_f(&n_projected[s], &g_vecProjected[i], 4)) {
-        printf("projected:\n%13.8e %13.8e %13.8e %13.8e |%08x\n"
-               "%13.8e %13.8e %13.8e %13.8e |%08x\n",
-            n_projected[s].x, n_projected[s].y,
-            n_projected[s].z, n_projected[s].w,
-            *(uint32 *)&n_projected[s].w,
-            g_vecProjected[i].x, g_vecProjected[i].y,
-            g_vecProjected[i].z, g_vecProjected[i].w,
-            *(uint32 *)&g_vecProjected[i].w);
-        bad = 1;
-    }
-    if (n_vtxcoords[s].x != g_fVtxTxtCoords[i].x
-        || n_vtxcoords[s].y != g_fVtxTxtCoords[i].y)
-    {
-        printf("vtxcoords:\n%13.8e %13.8e\n%13.8e %13.8e\n",
-            n_vtxcoords[s].x, n_vtxcoords[s].y,
-            g_fVtxTxtCoords[i].x, g_fVtxTxtCoords[i].y);
-        bad = 1;
-    }
-    if (n_clipflag2[s] != g_clipFlag2[i]) {
-        printf("clipflag2: %08x %08x\n", n_clipflag2[s], g_clipFlag2[i]);
-        bad = 1;
-    }
-    if (do_cmp_c(n_color[s], g_dwVtxDifColor[i])) {
-        printf("n_color: %08x %08x\n", n_color[s], g_dwVtxDifColor[i]);
-        bad = 1;
-    }
-    if (!(neon_state & PV_NEON_ENABLE_SHADE))
-        printf("!ENABLE_SHADE!\n");
-    if (bad) {
-        printf("%d s=%d, state %02x\n", ccnt, s, neon_state);
-        printf(".w %08x %08x\n",
-            *(uint32 *)&n_projected[s].w, *(uint32 *)&g_vecProjected[i].w);
-        exit(ccnt);
-    }
-    ccnt++;
-}
-#endif
-
 void ProcessVertexDataNEON(uint32 dwAddr, uint32 dwV0, uint32 dwNum)
 {
     if (gRSP.bTextureGen && gRSP.bLightingEnable) {
@@ -1657,9 +1566,6 @@ void ProcessVertexDataNEON(uint32 dwAddr, uint32 dwV0, uint32 dwNum)
         neon_state |= PV_NEON_FOG_ALPHA;
 
     uint32 i;
-#ifdef DO_CMP
-    uint32 s = 0;
-#endif
 
     UpdateCombinedMatrix();
 
@@ -1686,18 +1592,6 @@ void ProcessVertexDataNEON(uint32 dwAddr, uint32 dwV0, uint32 dwNum)
     // SP_Timing(RSP_GBI0_Vtx);
     status.SPCycleCount += Timing_RSP_GBI0_Vtx * dwNum;
 
-//#define DO_CC
-#ifdef DO_CC
-       asm volatile("mrc p15, 0, %0, c9, c12, 0" : "=r"(i));
-       i |= 5; // master enable, ccnt reset
-       i &= ~8; // ccnt divider 0
-       asm volatile("mcr p15, 0, %0, c9, c12, 0" :: "r"(i));
-       // enable cycle counter
-       asm volatile("mcr p15, 0, %0, c9, c12, 1" :: "r"(1<<31));
-       unsigned int cc_start;
-       asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(cc_start));
-#endif
-
 #if 1
     i = dwV0;
     pv_neon(&g_vtxTransformed[i], &g_vecProjected[i],
@@ -1711,18 +1605,6 @@ void ProcessVertexDataNEON(uint32 dwAddr, uint32 dwV0, uint32 dwNum)
 #else
     for (i = dwV0; i < dwV0 + dwNum; i++)
     {
-#ifdef DO_CMP
-        if (!(s & 1))
-            pv_neon(n_transformed, n_projected,
-                    n_color, n_vtxcoords,
-                    n_fogcoord, n_clipflag2,
-                    1, neon_state, &pVtxBase[i - dwV0],
-                    gRSPlights, gRSP.fAmbientColors,
-                    &gRSPworldProject, &gRSPmodelViewTop,
-                    gRSPnumLights, gRSPfFogMin,
-                    gRDP.primitiveColor, gRDP.primitiveColor);
-#endif
-
         const FiddledVtx & vert = pVtxBase[i - dwV0];
         XVECTOR3 vtx_raw; // was g_vtxNonTransformed
 
@@ -1804,20 +1686,6 @@ void ProcessVertexDataNEON(uint32 dwAddr, uint32 dwV0, uint32 dwNum)
 
         g_fVtxTxtCoords[i].x = (float)vert.tu;
         g_fVtxTxtCoords[i].y = (float)vert.tv; 
-#ifdef DO_CMP
-        do_cmp(i, s++ & 1, neon_state);
-#endif
-    }
-#endif
-#ifdef DO_CC
-    static int total, total_c;
-       unsigned int cc;
-       asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(cc));
-    total += cc - cc_start;
-    total_c += dwNum;
-    if (total_c > 20000) {
-        printf("%.u\n", total / total_c);
-        total = total_c = 0;
     }
 #endif
 }