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

Commit 728e4b81 authored by Yang Ni's avatar Yang Ni Committed by android-build-merger
Browse files

Merge "Correctly init code cache path for RS" am: 60fa615c am: 85fddcf8

am: 9a3aeee2

* commit '9a3aeee2':
  Correctly init code cache path for RS
parents defdd7bd 9a3aeee2
Loading
Loading
Loading
Loading
+22 −5
Original line number Original line Diff line number Diff line
@@ -1386,6 +1386,27 @@ public class RenderScript {
        return mApplicationContext;
        return mApplicationContext;
    }
    }


    /**
     * Name of the file that holds the object cache.
     */
    private static String mCachePath;

    /**
     * Gets the path to the code cache.
     */
    static synchronized String getCachePath() {
        if (mCachePath == null) {
            final String CACHE_PATH = "com.android.renderscript.cache";
            if (RenderScriptCacheDir.mCacheDir == null) {
                throw new RSRuntimeException("RenderScript code cache directory uninitialized.");
            }
            File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
            mCachePath = f.getAbsolutePath();
            f.mkdirs();
        }
        return mCachePath;
    }

    /**
    /**
     * Create a RenderScript context.
     * Create a RenderScript context.
     *
     *
@@ -1415,11 +1436,7 @@ public class RenderScript {
        }
        }


        // set up cache directory for entire context
        // set up cache directory for entire context
        final String CACHE_PATH = "com.android.renderscript.cache";
        rs.nContextSetCacheDir(RenderScript.getCachePath());
        File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
        String mCachePath = f.getAbsolutePath();
        f.mkdirs();
        rs.nContextSetCacheDir(mCachePath);


        rs.mMessageThread = new MessageThread(rs);
        rs.mMessageThread = new MessageThread(rs);
        rs.mMessageThread.start();
        rs.mMessageThread.start();
+2 −23
Original line number Original line Diff line number Diff line
@@ -84,13 +84,6 @@ public class ScriptC extends Script {
        setID(id);
        setID(id);
    }
    }


    /**
     * Name of the file that holds the object cache.
     */
    private static final String CACHE_PATH = "com.android.renderscript.cache";

    static String mCachePath;

    private static synchronized long internalCreate(RenderScript rs, Resources resources, int resourceID) {
    private static synchronized long internalCreate(RenderScript rs, Resources resources, int resourceID) {
        byte[] pgm;
        byte[] pgm;
        int pgmLength;
        int pgmLength;
@@ -122,26 +115,12 @@ public class ScriptC extends Script {


        String resName = resources.getResourceEntryName(resourceID);
        String resName = resources.getResourceEntryName(resourceID);


        // Create the RS cache path if we haven't done so already.
        if (mCachePath == null) {
            File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
            mCachePath = f.getAbsolutePath();
            f.mkdirs();
        }
        //        Log.v(TAG, "Create script for resource = " + resName);
        //        Log.v(TAG, "Create script for resource = " + resName);
        return rs.nScriptCCreate(resName, mCachePath, pgm, pgmLength);
        return rs.nScriptCCreate(resName, RenderScript.getCachePath(), pgm, pgmLength);
    }
    }


    private static synchronized long internalStringCreate(RenderScript rs, String resName, byte[] bitcode) {
    private static synchronized long internalStringCreate(RenderScript rs, String resName, byte[] bitcode) {
        // Create the RS cache path if we haven't done so already.
        if (mCachePath == null) {
            File f = new File(RenderScriptCacheDir.mCacheDir, CACHE_PATH);
            mCachePath = f.getAbsolutePath();
            f.mkdirs();
        }
        //        Log.v(TAG, "Create script for resource = " + resName);
        //        Log.v(TAG, "Create script for resource = " + resName);
        return rs.nScriptCCreate(resName, mCachePath, bitcode, bitcode.length);
        return rs.nScriptCCreate(resName, RenderScript.getCachePath(), bitcode, bitcode.length);
    }
    }


}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -396,7 +396,7 @@ public final class ScriptGroup extends BaseObj {
        for (int i = 0; i < closureIDs.length; i++) {
        for (int i = 0; i < closureIDs.length; i++) {
            closureIDs[i] = closures.get(i).getID(rs);
            closureIDs[i] = closures.get(i).getID(rs);
        }
        }
        long id = rs.nScriptGroup2Create(name, ScriptC.mCachePath, closureIDs);
        long id = rs.nScriptGroup2Create(name, RenderScript.getCachePath(), closureIDs);
        setID(id);
        setID(id);
    }
    }