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/RSSurfaceView.java | |
parent | b602c328c24f82d61038ac1222bd40a3cc7bc900 (diff) |
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/RSSurfaceView.java')
-rw-r--r-- | graphics/java/android/renderscript/RSSurfaceView.java | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/graphics/java/android/renderscript/RSSurfaceView.java b/graphics/java/android/renderscript/RSSurfaceView.java index 1bc03ac34382..ad1bb5429a99 100644 --- a/graphics/java/android/renderscript/RSSurfaceView.java +++ b/graphics/java/android/renderscript/RSSurfaceView.java @@ -80,10 +80,10 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback */ public void surfaceDestroyed(SurfaceHolder holder) { // Surface will be destroyed when we return + Log.v(RenderScript.LOG_TAG, "surfaceDestroyed"); if (mRS != null) { - mRS.contextSetSurface(null); + mRS.contextSetSurface(0, 0, null); } - //Log.v(RenderScript.LOG_TAG, "surfaceDestroyed"); } /** @@ -91,10 +91,10 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback * not normally called or subclassed by clients of RSSurfaceView. */ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { + Log.v(RenderScript.LOG_TAG, "surfaceChanged"); if (mRS != null) { - mRS.contextSetSurface(holder.getSurface()); + mRS.contextSetSurface(w, h, holder.getSurface()); } - //Log.v(RenderScript.LOG_TAG, "surfaceChanged"); } /** @@ -147,11 +147,8 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback // ---------------------------------------------------------------------- public RenderScript createRenderScript(boolean useDepth, boolean forceSW) { - Surface sur = null; - while ((sur == null) || (mSurfaceHolder == null)) { - sur = getHolder().getSurface(); - } - mRS = new RenderScript(sur, useDepth, forceSW); + Log.v(RenderScript.LOG_TAG, "createRenderScript"); + mRS = new RenderScript(useDepth, forceSW); return mRS; } @@ -160,6 +157,7 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback } public void destroyRenderScript() { + Log.v(RenderScript.LOG_TAG, "destroyRenderScript"); mRS.destroy(); mRS = null; } |