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

Commit 1a4e1f3e authored by Jason Sams's avatar Jason Sams
Browse files

Make compute work without an app context.

Change-Id: I644b4711135d6f5d9866b6c2e5e6f6a5ceb1f3d4
parent a6f338ca
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ public class RenderScript {
     * Name of the file that holds the object cache.
     */
    private static final String CACHE_PATH = "com.android.renderscript.cache";
    static String mCachePath;

     /**
     * Sets the directory to use as a persistent storage for the
@@ -95,8 +96,6 @@ public class RenderScript {
     * @hide
     * @param cacheDir A directory the current process can write to
     */

    static String mCachePath;
    public static void setupDiskCache(File cacheDir) {
        File f = new File(cacheDir, CACHE_PATH);
        mCachePath = f.getAbsolutePath();
@@ -905,8 +904,10 @@ public class RenderScript {
    }

    RenderScript(Context ctx) {
        if (ctx != null) {
            mApplicationContext = ctx.getApplicationContext();
        }
    }

    /**
     * Gets the application context associated with the RenderScript context.
@@ -917,21 +918,16 @@ public class RenderScript {
        return mApplicationContext;
    }

    static int getTargetSdkVersion(Context ctx) {
        return ctx.getApplicationInfo().targetSdkVersion;
    }

    /**
     * Create a basic RenderScript context.
     *
     * @hide
     * @param ctx The context.
     * @return RenderScript
     */
    public static RenderScript create(Context ctx) {
    public static RenderScript create(Context ctx, int sdkVersion) {
        RenderScript rs = new RenderScript(ctx);

        int sdkVersion = getTargetSdkVersion(ctx);

        rs.mDev = rs.nDeviceCreate();
        rs.mContext = rs.nContextCreate(rs.mDev, 0, sdkVersion);
        if (rs.mContext == 0) {
@@ -942,6 +938,17 @@ public class RenderScript {
        return rs;
    }

    /**
     * Create a basic RenderScript context.
     *
     * @param ctx The context.
     * @return RenderScript
     */
    public static RenderScript create(Context ctx) {
        int v = ctx.getApplicationInfo().targetSdkVersion;
        return create(ctx, v);
    }

    /**
     * Print the currently available debugging information about the state of
     * the RS context to the log.
+1 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@ public class RenderScriptGL extends RenderScript {
        super(ctx);
        mSurfaceConfig = new SurfaceConfig(sc);

        int sdkVersion = getTargetSdkVersion(ctx);
        int sdkVersion = ctx.getApplicationInfo().targetSdkVersion;

        mWidth = 0;
        mHeight = 0;