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) | |
| 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/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 1bc03ac..ad1bb54 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; } |
