Merge "Add more temporary logging for investigating detachFunctor" into jb-dev
This commit is contained in:
@ -1229,7 +1229,7 @@ public abstract class HardwareRenderer {
|
|||||||
void detachFunctor(int functor) {
|
void detachFunctor(int functor) {
|
||||||
if (mCanvas != null) {
|
if (mCanvas != null) {
|
||||||
mCanvas.detachFunctor(functor);
|
mCanvas.detachFunctor(functor);
|
||||||
}
|
} else Log.e(LOG_TAG, "can't detachFunctor, have no canvas");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -678,6 +678,9 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void detachFunctor(int functor) {
|
public void detachFunctor(int functor) {
|
||||||
|
Log.e(HardwareRenderer.LOG_TAG, String.format("detachFunctor, mHarwareRenderer==null %b, enabled %b",
|
||||||
|
mAttachInfo.mHardwareRenderer == null,
|
||||||
|
mAttachInfo.mHardwareRenderer == null ? false : mAttachInfo.mHardwareRenderer.isEnabled()));
|
||||||
if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled()) {
|
if (mAttachInfo.mHardwareRenderer != null && mAttachInfo.mHardwareRenderer.isEnabled()) {
|
||||||
mAttachInfo.mHardwareRenderer.detachFunctor(functor);
|
mAttachInfo.mHardwareRenderer.detachFunctor(functor);
|
||||||
}
|
}
|
||||||
|
@ -262,7 +262,10 @@ void OpenGLRenderer::resume() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLRenderer::detachFunctor(Functor* functor) {
|
void OpenGLRenderer::detachFunctor(Functor* functor) {
|
||||||
mFunctors.remove(functor);
|
int size = mFunctors.size();
|
||||||
|
int remove = mFunctors.remove(functor);
|
||||||
|
ALOGD("OGLR %p detachFunctor %p, removed at index %d of %d",
|
||||||
|
this, functor, remove, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLRenderer::attachFunctor(Functor* functor) {
|
void OpenGLRenderer::attachFunctor(Functor* functor) {
|
||||||
@ -309,7 +312,7 @@ status_t OpenGLRenderer::invokeFunctors(Rect& dirty) {
|
|||||||
|
|
||||||
status_t OpenGLRenderer::callDrawGLFunction(Functor* functor, Rect& dirty) {
|
status_t OpenGLRenderer::callDrawGLFunction(Functor* functor, Rect& dirty) {
|
||||||
interrupt();
|
interrupt();
|
||||||
detachFunctor(functor);
|
mFunctors.remove(functor);
|
||||||
|
|
||||||
if (mDirtyClip) {
|
if (mDirtyClip) {
|
||||||
setScissorFromClip();
|
setScissorFromClip();
|
||||||
|
Reference in New Issue
Block a user