diff options
author | Alexandros Frantzis <alexandros.frantzis@linaro.org> | 2012-07-30 15:28:16 +0300 |
---|---|---|
committer | Alexandros Frantzis <alexandros.frantzis@linaro.org> | 2012-07-30 15:28:16 +0300 |
commit | c3babd01187da953244a0c9d3ef5c6322af2274a (patch) | |
tree | ab554b6bc2299f03032d88c2198a9143b3630b84 | |
parent | 8e403ee955a469984f167d6b7b082ab8b1b199e6 (diff) | |
download | glmark2-c3babd01187da953244a0c9d3ef5c6322af2274a.tar.gz |
Android: Store the log output to a file.
-rw-r--r-- | android/src/org/linaro/glmark2/Glmark2Native.java | 3 | ||||
-rw-r--r-- | android/src/org/linaro/glmark2/Glmark2SurfaceView.java | 5 | ||||
-rw-r--r-- | src/android.cpp | 16 |
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) }, { |