diff options
author | Jason Sams <rjsams@android.com> | 2010-02-09 16:05:07 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2010-02-09 16:05:07 -0800 |
commit | 704ff64b099406bb328898a7443921f22dbffd6d (patch) | |
tree | f5ec300c4d3bd6cdb6225909b4435d44a4a226dd /graphics/java/android/renderscript/RenderScript.java | |
parent | 5bec3aa2c6bcde7f81ca77b0887296bf05a745c8 (diff) | |
download | frameworks_base-704ff64b099406bb328898a7443921f22dbffd6d.zip frameworks_base-704ff64b099406bb328898a7443921f22dbffd6d.tar.gz frameworks_base-704ff64b099406bb328898a7443921f22dbffd6d.tar.bz2 |
Preview seperating RenderScript into RenderScript and RenderScriptGL
Diffstat (limited to 'graphics/java/android/renderscript/RenderScript.java')
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 114 |
1 files changed, 21 insertions, 93 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 29361af..84b1a70 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -31,11 +31,9 @@ import android.view.Surface; **/ public class RenderScript { static final String LOG_TAG = "RenderScript_jni"; - private static final boolean DEBUG = false; + protected static final boolean DEBUG = false; @SuppressWarnings({"UnusedDeclaration", "deprecation"}) - private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; - int mWidth; - int mHeight; + protected static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; @@ -44,8 +42,8 @@ public class RenderScript { * field offsets. */ @SuppressWarnings({"FieldCanBeLocal", "UnusedDeclaration"}) - private static boolean sInitialized; - native private static void _nInit(); + protected static boolean sInitialized; + native protected static void _nInit(); static { @@ -64,7 +62,8 @@ public class RenderScript { native int nDeviceCreate(); native void nDeviceDestroy(int dev); native void nDeviceSetConfig(int dev, int param, int value); - native int nContextCreate(int dev, int ver, boolean useDepth); + native int nContextCreateGL(int dev, int ver, boolean useDepth); + native int nContextCreate(int dev, int ver); native void nContextDestroy(int con); native void nContextSetSurface(int w, int h, Surface sur); native void nContextSetPriority(int p); @@ -190,11 +189,10 @@ public class RenderScript { native void nAnimationAdd(float time, float[] attribs); native int nAnimationCreate(); - private int mDev; - private int mContext; + protected int mDev; + protected int mContext; @SuppressWarnings({"FieldCanBeLocal"}) - private Surface mSurface; - private MessageThread mMessageThread; + protected MessageThread mMessageThread; Element mElement_USER_U8; Element mElement_USER_I8; @@ -251,7 +249,7 @@ public class RenderScript { nContextSetPriority(p.mID); } - private static class MessageThread extends Thread { + protected static class MessageThread extends Thread { RenderScript mRS; boolean mRun = true; @@ -289,26 +287,18 @@ public class RenderScript { } } - public RenderScript(boolean useDepth, boolean forceSW) { - mSurface = null; - mWidth = 0; - mHeight = 0; - mDev = nDeviceCreate(); - if(forceSW) { - nDeviceSetConfig(mDev, 0, 1); - } - mContext = nContextCreate(mDev, 0, useDepth); - mMessageThread = new MessageThread(this); - mMessageThread.start(); - Element.initPredefined(this); + protected RenderScript() { } - public void contextSetSurface(int w, int h, Surface sur) { - mSurface = sur; - mWidth = w; - mHeight = h; - validate(); - nContextSetSurface(w, h, mSurface); + public static RenderScript create() { + RenderScript rs = new RenderScript(); + + rs.mDev = rs.nDeviceCreate(); + rs.mContext = rs.nContextCreate(rs.mDev, 0); + rs.mMessageThread = new MessageThread(rs); + rs.mMessageThread.start(); + Element.initPredefined(rs); + return rs; } public void contextDump(int bits) { @@ -332,77 +322,15 @@ public class RenderScript { return mContext != 0; } - void pause() { - validate(); - nContextPause(); - } - - void resume() { - validate(); - nContextResume(); - } - - ////////////////////////////////////////////////////////////////////////////////// - // File - - public class File extends BaseObj { - File(int id) { - super(RenderScript.this); - mID = id; - } - } - - public File fileOpen(String s) throws IllegalStateException, IllegalArgumentException - { - if(s.length() < 1) { - throw new IllegalArgumentException("fileOpen does not accept a zero length string."); - } - - try { - byte[] bytes = s.getBytes("UTF-8"); - int id = nFileOpen(bytes); - return new File(id); - } catch (java.io.UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - } - - /////////////////////////////////////////////////////////////////////////////////// // Root state - private int safeID(BaseObj o) { + protected int safeID(BaseObj o) { if(o != null) { return o.mID; } return 0; } - - public void contextBindRootScript(Script s) { - validate(); - nContextBindRootScript(safeID(s)); - } - - public void contextBindProgramFragmentStore(ProgramStore p) { - validate(); - nContextBindProgramFragmentStore(safeID(p)); - } - - public void contextBindProgramFragment(ProgramFragment p) { - validate(); - nContextBindProgramFragment(safeID(p)); - } - - public void contextBindProgramRaster(ProgramRaster p) { - validate(); - nContextBindProgramRaster(safeID(p)); - } - - public void contextBindProgramVertex(ProgramVertex p) { - validate(); - nContextBindProgramVertex(safeID(p)); - } - } |