summaryrefslogtreecommitdiffstats
path: root/graphics/java
diff options
context:
space:
mode:
authorJason Sams <jsams@google.com>2013-02-22 18:43:45 -0800
committerJason Sams <jsams@google.com>2013-02-22 18:43:45 -0800
commitadd26dca07cc5a5c935bc68f57bee2c1cd96a79e (patch)
treea0d9855c7337250c4bb99be852795090699ad691 /graphics/java
parent786525e8ea49c32b54eda5c260e125f5f2cf80e7 (diff)
downloadframeworks_base-add26dca07cc5a5c935bc68f57bee2c1cd96a79e.zip
frameworks_base-add26dca07cc5a5c935bc68f57bee2c1cd96a79e.tar.gz
frameworks_base-add26dca07cc5a5c935bc68f57bee2c1cd96a79e.tar.bz2
add support for debug and profile contexts.
Change-Id: I759e54e365a344a93d725eb4fa70a2c4c98bf05a
Diffstat (limited to 'graphics/java')
-rw-r--r--graphics/java/android/renderscript/RenderScript.java41
1 files changed, 35 insertions, 6 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index c3fcbb5..bef28aa 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -102,6 +102,16 @@ public class RenderScript {
f.mkdirs();
}
+ public enum ContextType {
+ NORMAL (0),
+ DEBUG (1),
+ PROFILE (2);
+
+ int mID;
+ ContextType(int id) {
+ mID = id;
+ }
+ }
// Methods below are wrapped to protect the non-threadsafe
// lockless fifo.
@@ -122,9 +132,9 @@ public class RenderScript {
stencilMin, stencilPref,
samplesMin, samplesPref, samplesQ, dpi);
}
- native int rsnContextCreate(int dev, int ver, int sdkVer);
- synchronized int nContextCreate(int dev, int ver, int sdkVer) {
- return rsnContextCreate(dev, ver, sdkVer);
+ native int rsnContextCreate(int dev, int ver, int sdkVer, int contextType);
+ synchronized int nContextCreate(int dev, int ver, int sdkVer, int contextType) {
+ return rsnContextCreate(dev, ver, sdkVer, contextType);
}
native void rsnContextDestroy(int con);
synchronized void nContextDestroy() {
@@ -1012,17 +1022,24 @@ public class RenderScript {
}
/**
+ * @hide
+ */
+ public static RenderScript create(Context ctx, int sdkVersion) {
+ return create(ctx, sdkVersion, ContextType.NORMAL);
+ }
+
+ /**
* Create a basic RenderScript context.
*
* @hide
* @param ctx The context.
* @return RenderScript
*/
- public static RenderScript create(Context ctx, int sdkVersion) {
+ public static RenderScript create(Context ctx, int sdkVersion, ContextType ct) {
RenderScript rs = new RenderScript(ctx);
rs.mDev = rs.nDeviceCreate();
- rs.mContext = rs.nContextCreate(rs.mDev, 0, sdkVersion);
+ rs.mContext = rs.nContextCreate(rs.mDev, 0, sdkVersion, ct.mID);
if (rs.mContext == 0) {
throw new RSDriverException("Failed to create RS context.");
}
@@ -1038,8 +1055,20 @@ public class RenderScript {
* @return RenderScript
*/
public static RenderScript create(Context ctx) {
+ return create(ctx, ContextType.NORMAL);
+ }
+
+ /**
+ * Create a basic RenderScript context.
+ *
+ * @hide
+ *
+ * @param ctx The context.
+ * @return RenderScript
+ */
+ public static RenderScript create(Context ctx, ContextType ct) {
int v = ctx.getApplicationInfo().targetSdkVersion;
- return create(ctx, v);
+ return create(ctx, v, ct);
}
/**