From 04fc583c3dd3144bc6b718fcac4b3e1afdfdb067 Mon Sep 17 00:00:00 2001 From: John Reck Date: Wed, 5 Feb 2014 16:38:25 -0800 Subject: Refactor HardwareLayer Defer all the things! Groundwork to allow hardware layers to work in a renderthread world Change-Id: Ib3aa47525f393083621254a743dbaa6352f933bd --- core/java/android/view/TextureView.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'core/java/android/view/TextureView.java') diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java index 161fe334118a..e78940779fd3 100644 --- a/core/java/android/view/TextureView.java +++ b/core/java/android/view/TextureView.java @@ -250,7 +250,7 @@ public class TextureView extends View { mSurface.detachFromGLContext(); // SurfaceTexture owns the texture name and detachFromGLContext // should have deleted it - mLayer.clearStorage(); + mLayer.onTextureDestroyed(); boolean shouldRelease = true; if (mListener != null) { @@ -375,7 +375,7 @@ public class TextureView extends View { return null; } - mLayer = mAttachInfo.mHardwareRenderer.createHardwareLayer(mOpaque); + mLayer = mAttachInfo.mHardwareRenderer.createTextureLayer(); if (!mUpdateSurface) { // Create a new SurfaceTexture for the layer. mSurface = mAttachInfo.mHardwareRenderer.createSurfaceTexture(mLayer); @@ -416,7 +416,7 @@ public class TextureView extends View { updateLayer(); mMatrixChanged = true; - mAttachInfo.mHardwareRenderer.setSurfaceTexture(mLayer, mSurface); + mLayer.setSurfaceTexture(mSurface); mSurface.setDefaultBufferSize(getWidth(), getHeight()); } @@ -469,7 +469,8 @@ public class TextureView extends View { } } - mLayer.update(getWidth(), getHeight(), mOpaque); + mLayer.prepare(getWidth(), getHeight(), mOpaque); + mLayer.updateSurfaceTexture(); if (mListener != null) { mListener.onSurfaceTextureUpdated(mSurface); -- cgit v1.2.3