diff --git a/opengl/tests/gl_perfapp/AndroidManifest.xml b/opengl/tests/gl_perfapp/AndroidManifest.xml
index df50b99..305d95f 100644
--- a/opengl/tests/gl_perfapp/AndroidManifest.xml
+++ b/opengl/tests/gl_perfapp/AndroidManifest.xml
@@ -19,8 +19,10 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.glperf">
+    package="com.android.glperf"
+    android:versionName="1.0.0" android:versionCode="10000" >
     <uses-sdk android:targetSdkVersion="7" android:minSdkVersion="7" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <application
             android:label="@string/glperf_activity">
         <activity android:name="GLPerfActivity"
diff --git a/opengl/tests/gl_perfapp/jni/gl_code.cpp b/opengl/tests/gl_perfapp/jni/gl_code.cpp
index 2ee25a2..13b90bb 100644
--- a/opengl/tests/gl_perfapp/jni/gl_code.cpp
+++ b/opengl/tests/gl_perfapp/jni/gl_code.cpp
@@ -13,6 +13,8 @@
 #include <stdlib.h>
 #include <math.h>
 
+FILE * out;
+
 static void printGLString(const char *name, GLenum s) {
     const char *v = (const char *) glGetString(s);
     LOGI("GL %s = %s\n", name, v);
@@ -122,6 +124,7 @@
     double dc60 = pixels / delta / (w * h) / 60;
 
     LOGI("%s, %f, %f\n", str, mpps, dc60);
+    if (out) fprintf(out, "%s, %f, %f\r\n", str, mpps, dc60);
 }
 
 static const char gVertexShader[] =
@@ -247,7 +250,7 @@
 
 //////////////////////////
 
-// Tells us what to draw next
+// Width and height of the screen
 
 uint32_t w;
 uint32_t h;
@@ -259,6 +262,8 @@
 const int doSingleTestStates = 2;
 bool done;
 
+// Saves the parameters of the test (so we can print them out when we finish the timing.)
+
 char saveBuf[1024];
 
 static void doLoop(uint32_t w, uint32_t h, const char *str) {
@@ -386,8 +391,13 @@
        testSubState = testState % 8;
     }
     if (texCount >= 3) {
-       // LOGI("done\n");
+       LOGI("done\n");
+       if (out) {
+           fclose(out);
+           out = NULL;
+       }
        done = true;
+       exit(0);
        return;
     }
 
@@ -436,8 +446,15 @@
     done = false;
     setupVA();
     genTextures();
+    const char* fileName = "/sdcard/glperf.csv";
+    LOGI("Writing to: %s\n",fileName);
+    out = fopen(fileName, "w");
+    if (out == NULL) {
+        LOGE("Could not open: %s\n", fileName);
+    }
 
     LOGI("\nvarColor, texCount, modulate, extraMath, texSize, blend, Mpps, DC60\n");
+    if (out) fprintf(out,"\nvarColor, texCount, modulate, extraMath, texSize, blend, Mpps, DC60\r\n");
 }
 
 JNIEXPORT void JNICALL Java_com_android_glperf_GLPerfLib_step(JNIEnv * env, jobject obj)
