diff options
author | Jason Sams <rjsams@android.com> | 2009-11-12 15:10:25 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-11-12 15:10:47 -0800 |
commit | 3bc47d438171dce294e816366d53bc9eca772c5b (patch) | |
tree | 58c41bf03b538359d7dd70fcd8362195a5405445 /graphics/java/android/renderscript/RenderScript.java | |
parent | b602c328c24f82d61038ac1222bd40a3cc7bc900 (diff) | |
download | frameworks_base-3bc47d438171dce294e816366d53bc9eca772c5b.zip frameworks_base-3bc47d438171dce294e816366d53bc9eca772c5b.tar.gz frameworks_base-3bc47d438171dce294e816366d53bc9eca772c5b.tar.bz2 |
Defer EGL init until the surface changed call comes in. Pass w,h along with surface for verification of driver state.
Diffstat (limited to 'graphics/java/android/renderscript/RenderScript.java')
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index f1e5af1..ea11882 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -30,10 +30,12 @@ import android.view.Surface; * **/ public class RenderScript { - static final String LOG_TAG = "libRS_jni"; + static final String LOG_TAG = "RenderScript_jni"; private static final boolean DEBUG = false; @SuppressWarnings({"UnusedDeclaration", "deprecation"}) private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; + int mWidth; + int mHeight; @@ -62,9 +64,9 @@ 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, Surface sur, int ver, boolean useDepth); + native int nContextCreate(int dev, int ver, boolean useDepth); native void nContextDestroy(int con); - native void nContextSetSurface(Surface sur); + native void nContextSetSurface(int w, int h, Surface sur); native void nContextBindRootScript(int script); native void nContextBindSampler(int sampler, int slot); @@ -259,27 +261,31 @@ public class RenderScript { mRS.mMessageCallback.mID = msg; mRS.mMessageCallback.run(); } - //Log.d("rs", "MessageThread msg " + msg + " v1 " + rbuf[0] + " v2 " + rbuf[1] + " v3 " +rbuf[2]); + //Log.d(LOG_TAG, "MessageThread msg " + msg + " v1 " + rbuf[0] + " v2 " + rbuf[1] + " v3 " +rbuf[2]); } - Log.d("rs", "MessageThread exiting."); + Log.d(LOG_TAG, "MessageThread exiting."); } } - public RenderScript(Surface sur, boolean useDepth, boolean forceSW) { - mSurface = sur; + public RenderScript(boolean useDepth, boolean forceSW) { + mSurface = null; + mWidth = 0; + mHeight = 0; mDev = nDeviceCreate(); if(forceSW) { nDeviceSetConfig(mDev, 0, 1); } - mContext = nContextCreate(mDev, mSurface, 0, useDepth); + mContext = nContextCreate(mDev, 0, useDepth); Element.initPredefined(this); mMessageThread = new MessageThread(this); mMessageThread.start(); } - public void contextSetSurface(Surface sur) { + public void contextSetSurface(int w, int h, Surface sur) { mSurface = sur; - nContextSetSurface(mSurface); + mWidth = w; + mHeight = h; + nContextSetSurface(w, h, mSurface); } public void destroy() { |