Adding onscreen frame and script time for debugging.

Change-Id: I5780092d14d49dae556b9969b937c7768e705a64
diff --git a/rsContext.cpp b/rsContext.cpp
index d1784f3..61ef5d4 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -259,6 +259,44 @@
     return 0 != strcmp(buf, "0");
 }
 
+void Context::displayDebugStats()
+{
+    char buffer[128];
+    sprintf(buffer, "Frame %i ms, Script %i ms", mTimeMSLastFrame, mTimeMSLastScript);
+    float oldR = mStateVertex.color[0];
+    float oldG = mStateVertex.color[1];
+    float oldB = mStateVertex.color[2];
+    float oldA = mStateVertex.color[3];
+
+    float shadowCol = 0.2f;
+    mStateVertex.color[0] = shadowCol;
+    mStateVertex.color[1] = shadowCol;
+    mStateVertex.color[2] = shadowCol;
+    mStateVertex.color[3] = 1.0f;
+    if (!checkVersion2_0()) {
+        glColor4f(shadowCol, shadowCol, shadowCol, 1.0f);
+    }
+    mStateFont.renderText(buffer, 5, getHeight() - 5);
+
+    float textCol = 0.9f;
+    mStateVertex.color[0] = textCol;
+    mStateVertex.color[1] = textCol;
+    mStateVertex.color[2] = textCol;
+    mStateVertex.color[3] = 1.0f;
+    if (!checkVersion2_0()) {
+        glColor4f(textCol, textCol, textCol, 1.0f);
+    }
+    mStateFont.renderText(buffer, 4, getHeight() - 6);
+
+    mStateVertex.color[0] = oldR;
+    mStateVertex.color[1] = oldG;
+    mStateVertex.color[2] = oldB;
+    mStateVertex.color[3] = oldA;
+    if (!checkVersion2_0()) {
+        glColor4f(oldR, oldG, oldB, oldA);
+    }
+}
+
 void * Context::threadProc(void *vrsc)
 {
      Context *rsc = static_cast<Context *>(vrsc);
@@ -271,6 +309,7 @@
      rsc->props.mLogScripts = getProp("debug.rs.script");
      rsc->props.mLogObjects = getProp("debug.rs.object");
      rsc->props.mLogShaders = getProp("debug.rs.shader");
+     rsc->props.mLogVisual = getProp("debug.rs.visual");
 
      ScriptTLSStruct *tlsStruct = new ScriptTLSStruct;
      if (!tlsStruct) {
@@ -308,6 +347,11 @@
          uint32_t targetTime = 0;
          if (mDraw && rsc->mIsGraphicsContext) {
              targetTime = rsc->runRootScript();
+
+             if(rsc->props.mLogVisual) {
+                 rsc->displayDebugStats();
+             }
+
              mDraw = targetTime && !rsc->mPaused;
              rsc->timerSet(RS_TIMER_CLEAR_SWAP);
              eglSwapBuffers(rsc->mEGL.mDisplay, rsc->mEGL.mSurface);