Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d718c2f authored by Tim Murray's avatar Tim Murray Committed by Gerrit Code Review
Browse files

Merge "Add support for setting the cache directory."

parents ba2836e6 47f31582
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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();
@@ -1326,6 +1332,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;
+12 −0
Original line number Diff line number Diff line
@@ -689,6 +689,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
@@ -2312,6 +2323,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 },