diff options
author | Tim Murray <timmurray@google.com> | 2015-04-10 04:35:04 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-10 04:35:04 +0000 |
commit | 9509bfe46a96a724a9166b115b287f16862b9fc5 (patch) | |
tree | b15ce23dafe5f714d5233d6b62a7b8a079b71b7b | |
parent | 8d33804b01d4fc871b7eed750fa6aad00861f984 (diff) | |
parent | 72fcf9eb1079312afd7bdbee167c759109af4244 (diff) | |
download | frameworks_base-9509bfe46a96a724a9166b115b287f16862b9fc5.zip frameworks_base-9509bfe46a96a724a9166b115b287f16862b9fc5.tar.gz frameworks_base-9509bfe46a96a724a9166b115b287f16862b9fc5.tar.bz2 |
am 72fcf9eb: am af61d43d: am 6d718c2f: Merge "Add support for setting the cache directory."
* commit '72fcf9eb1079312afd7bdbee167c759109af4244':
Add support for setting the cache directory.
-rw-r--r-- | rs/java/android/renderscript/RenderScript.java | 14 | ||||
-rw-r--r-- | rs/jni/android_renderscript_RenderScript.cpp | 12 |
2 files changed, 26 insertions, 0 deletions
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java index fd19d49..5fc1f93 100644 --- a/rs/java/android/renderscript/RenderScript.java +++ b/rs/java/android/renderscript/RenderScript.java @@ -16,6 +16,7 @@ package android.renderscript; +import java.io.File; import java.lang.reflect.Method; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -231,6 +232,11 @@ public class RenderScript { validate(); rsnContextSetPriority(mContext, p); } + native void rsnContextSetCacheDir(long con, String cacheDir); + synchronized void nContextSetCacheDir(String cacheDir) { + validate(); + rsnContextSetCacheDir(mContext, cacheDir); + } native void rsnContextDump(long con, int bits); synchronized void nContextDump(int bits) { validate(); @@ -1325,6 +1331,14 @@ public class RenderScript { if (rs.mContext == 0) { throw new RSDriverException("Failed to create RS context."); } + + // set up cache directory for entire context + final String CACHE_PATH = "com.android.renderscript.cache"; + File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH); + String mCachePath = f.getAbsolutePath(); + f.mkdirs(); + rs.nContextSetCacheDir(mCachePath); + rs.mMessageThread = new MessageThread(rs); rs.mMessageThread.start(); return rs; diff --git a/rs/jni/android_renderscript_RenderScript.cpp b/rs/jni/android_renderscript_RenderScript.cpp index 40fad38..a40233a 100644 --- a/rs/jni/android_renderscript_RenderScript.cpp +++ b/rs/jni/android_renderscript_RenderScript.cpp @@ -684,6 +684,17 @@ nContextSetPriority(JNIEnv *_env, jobject _this, jlong con, jint p) rsContextSetPriority((RsContext)con, p); } +static void +nContextSetCacheDir(JNIEnv *_env, jobject _this, jlong con, jstring cacheDir) +{ + AutoJavaStringToUTF8 cacheDirUTF(_env, cacheDir); + + if (kLogApi) { + ALOGD("ContextSetCacheDir, con(%p), cacheDir(%s)", (RsContext)con, cacheDirUTF.c_str()); + } + rsContextSetCacheDir((RsContext)con, cacheDirUTF.c_str(), cacheDirUTF.length()); +} + static void @@ -2307,6 +2318,7 @@ static JNINativeMethod methods[] = { {"rsnContextCreateGL", "(JIIIIIIIIIIIIFI)J", (void*)nContextCreateGL }, {"rsnContextFinish", "(J)V", (void*)nContextFinish }, {"rsnContextSetPriority", "(JI)V", (void*)nContextSetPriority }, +{"rsnContextSetCacheDir", "(JLjava/lang/String;)V", (void*)nContextSetCacheDir }, {"rsnContextSetSurface", "(JIILandroid/view/Surface;)V", (void*)nContextSetSurface }, {"rsnContextDestroy", "(J)V", (void*)nContextDestroy }, {"rsnContextDump", "(JI)V", (void*)nContextDump }, |