summaryrefslogtreecommitdiff
path: root/graphics/java/android/renderscript/RenderScript.java
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2012-02-24 17:51:24 -0800
committerJason Sams <rjsams@android.com>2012-02-24 17:51:24 -0800
commit1a4e1f3efd077f3a61038aedab84dc84c9c44d19 (patch)
tree010388194a4dcfaebf9aee075baf2d220635da0f /graphics/java/android/renderscript/RenderScript.java
parenta6f338ca5f0c8359d1952167858851dd025e47e2 (diff)
Make compute work without an app context.
Change-Id: I644b4711135d6f5d9866b6c2e5e6f6a5ceb1f3d4
Diffstat (limited to 'graphics/java/android/renderscript/RenderScript.java')
-rw-r--r--graphics/java/android/renderscript/RenderScript.java27
1 files changed, 17 insertions, 10 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index fd4ecf160bbe..6921f3780c41 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -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,7 +904,9 @@ public class RenderScript {
}
RenderScript(Context ctx) {
- mApplicationContext = ctx.getApplicationContext();
+ if (ctx != null) {
+ mApplicationContext = ctx.getApplicationContext();
+ }
}
/**
@@ -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) {
@@ -943,6 +939,17 @@ public class RenderScript {
}
/**
+ * 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.
*