diff options
author | Jason Sams <jsams@google.com> | 2013-02-22 18:43:45 -0800 |
---|---|---|
committer | Jason Sams <jsams@google.com> | 2013-02-22 18:43:45 -0800 |
commit | add26dca07cc5a5c935bc68f57bee2c1cd96a79e (patch) | |
tree | a0d9855c7337250c4bb99be852795090699ad691 /graphics/java | |
parent | 786525e8ea49c32b54eda5c260e125f5f2cf80e7 (diff) | |
download | frameworks_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.java | 41 |
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); } /** |