aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandros Frantzis <alexandros.frantzis@linaro.org>2012-07-30 15:28:16 +0300
committerAlexandros Frantzis <alexandros.frantzis@linaro.org>2012-07-30 15:28:16 +0300
commitc3babd01187da953244a0c9d3ef5c6322af2274a (patch)
treeab554b6bc2299f03032d88c2198a9143b3630b84
parent8e403ee955a469984f167d6b7b082ab8b1b199e6 (diff)
downloadglmark2-c3babd01187da953244a0c9d3ef5c6322af2274a.tar.gz
Android: Store the log output to a file.
-rw-r--r--android/src/org/linaro/glmark2/Glmark2Native.java3
-rw-r--r--android/src/org/linaro/glmark2/Glmark2SurfaceView.java5
-rw-r--r--src/android.cpp16
3 files changed, 19 insertions, 5 deletions
diff --git a/android/src/org/linaro/glmark2/Glmark2Native.java b/android/src/org/linaro/glmark2/Glmark2Native.java
index 0f2fd26..c805385 100644
--- a/android/src/org/linaro/glmark2/Glmark2Native.java
+++ b/android/src/org/linaro/glmark2/Glmark2Native.java
@@ -24,7 +24,8 @@ package org.linaro.glmark2;
import android.content.res.AssetManager;
class Glmark2Native {
- public static native void init(AssetManager assetManager, String args);
+ public static native void init(AssetManager assetManager, String args,
+ String logFilePath);
public static native void resize(int w, int h);
public static native boolean render();
public static native void done();
diff --git a/android/src/org/linaro/glmark2/Glmark2SurfaceView.java b/android/src/org/linaro/glmark2/Glmark2SurfaceView.java
index 1a64837..6cf65aa 100644
--- a/android/src/org/linaro/glmark2/Glmark2SurfaceView.java
+++ b/android/src/org/linaro/glmark2/Glmark2SurfaceView.java
@@ -1,5 +1,7 @@
package org.linaro.glmark2;
+import java.io.File;
+
import android.graphics.PixelFormat;
import android.opengl.GLSurfaceView;
import android.app.Activity;
@@ -203,7 +205,8 @@ class Glmark2Renderer implements GLSurfaceView.Renderer {
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
String args = mView.getActivity().getIntent().getStringExtra("args");
- Glmark2Native.init(mView.getActivity().getAssets(), args);
+ File f = new File(mView.getActivity().getFilesDir(), "last_run.log");
+ Glmark2Native.init(mView.getActivity().getAssets(), args, f.getAbsolutePath());
}
private Glmark2SurfaceView mView;
diff --git a/src/android.cpp b/src/android.cpp
index 99a38c1..d7e0830 100644
--- a/src/android.cpp
+++ b/src/android.cpp
@@ -37,6 +37,7 @@
static Canvas *g_canvas;
static MainLoop *g_loop;
static BenchmarkCollection *g_benchmark_collection;
+static std::ostream *g_log_extra;
class MainLoopAndroid : public MainLoop
{
@@ -258,7 +259,8 @@ create_and_add_scenes(std::vector<Scene*>& scenes, Canvas& canvas)
void
Java_org_linaro_glmark2_native_init(JNIEnv* env, jclass clazz,
jobject asset_manager,
- jstring args)
+ jstring args,
+ jstring log_file)
{
static_cast<void>(clazz);
static const std::string arguments_file("/data/glmark2/args");
@@ -282,10 +284,17 @@ Java_org_linaro_glmark2_native_init(JNIEnv* env, jclass clazz,
Options::parse_args(argc, argv);
release_args(argc, argv);
+ /* Get the log file path and open the log file */
+ const char *log_file_c_str = env->GetStringUTFChars(log_file, 0);
+ if (log_file_c_str) {
+ g_log_extra = new std::ofstream(log_file_c_str, std::ios::binary);
+ env->ReleaseStringUTFChars(log_file, log_file_c_str);
+ }
+
/* Force reuse of EGL/GL context */
Options::reuse_context = true;
- Log::init("glmark2", Options::show_debug);
+ Log::init("glmark2", Options::show_debug, g_log_extra);
Util::android_set_asset_manager(AAssetManager_fromJava(env, asset_manager));
g_canvas = new CanvasAndroid(100, 100);
@@ -340,6 +349,7 @@ Java_org_linaro_glmark2_native_done(JNIEnv* env)
delete g_loop;
delete g_benchmark_collection;
delete g_canvas;
+ delete g_log_extra;
}
jboolean
@@ -409,7 +419,7 @@ Java_org_linaro_glmark2_native_getSceneInfo(JNIEnv* env, jclass clazz,
static JNINativeMethod glmark2_native_methods[] = {
{
"init",
- "(Landroid/content/res/AssetManager;Ljava/lang/String;)V",
+ "(Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void*>(Java_org_linaro_glmark2_native_init)
},
{