Loading core/java/android/view/GLES20Canvas.java +6 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,11 @@ class GLES20Canvas extends HardwareCanvas { nPushLayerUpdate(mRenderer, ((GLES20RenderLayer) layer).mLayer); } @Override void cancelLayerUpdate(HardwareLayer layer) { nCancelLayerUpdate(mRenderer, ((GLES20RenderLayer) layer).mLayer); } @Override void flushLayerUpdates() { nFlushLayerUpdates(mRenderer); Loading Loading @@ -191,6 +196,7 @@ class GLES20Canvas extends HardwareCanvas { private static native void nClearLayerUpdates(int renderer); private static native void nFlushLayerUpdates(int renderer); private static native void nPushLayerUpdate(int renderer, int layer); private static native void nCancelLayerUpdate(int renderer, int layer); /////////////////////////////////////////////////////////////////////////// // Canvas management Loading core/java/android/view/HardwareCanvas.java +13 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,19 @@ public abstract class HardwareCanvas extends Canvas { */ abstract void pushLayerUpdate(HardwareLayer layer); /** * Cancels a queued layer update. If the specified layer was not * queued for update, this method has no effect. * * @param layer The layer whose update to cancel * * @see #pushLayerUpdate(HardwareLayer) * @see #clearLayerUpdates() * * @hide */ abstract void cancelLayerUpdate(HardwareLayer layer); /** * Immediately executes all enqueued layer updates. * Loading core/java/android/view/HardwareRenderer.java +16 −0 Original line number Diff line number Diff line Loading @@ -451,9 +451,20 @@ public abstract class HardwareRenderer { * @param layer The hardware layer that needs an update * * @see #flushLayerUpdates() * @see #cancelLayerUpdate(HardwareLayer) */ abstract void pushLayerUpdate(HardwareLayer layer); /** * Cancels a queued layer update. If the specified layer was not * queued for update, this method has no effect. * * @param layer The layer whose update to cancel * * @see #pushLayerUpdate(HardwareLayer) */ abstract void cancelLayerUpdate(HardwareLayer layer); /** * Forces all enqueued layer updates to be executed immediately. * Loading Loading @@ -2132,6 +2143,11 @@ public abstract class HardwareRenderer { mGlCanvas.pushLayerUpdate(layer); } @Override void cancelLayerUpdate(HardwareLayer layer) { mGlCanvas.cancelLayerUpdate(layer); } @Override void flushLayerUpdates() { mGlCanvas.flushLayerUpdates(); Loading core/java/android/view/View.java +2 −0 Original line number Diff line number Diff line Loading @@ -12709,6 +12709,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (info != null && info.mHardwareRenderer != null && info.mHardwareRenderer.isEnabled() && (valid || info.mHardwareRenderer.validate())) { info.mHardwareRenderer.cancelLayerUpdate(mHardwareLayer); mHardwareLayer.destroy(); mHardwareLayer = null; Loading core/jni/android_view_GLES20Canvas.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -911,6 +911,11 @@ static void android_view_GLES20Canvas_pushLayerUpdate(JNIEnv* env, jobject clazz renderer->pushLayerUpdate(layer); } static void android_view_GLES20Canvas_cancelLayerUpdate(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer, Layer* layer) { renderer->cancelLayerUpdate(layer); } static void android_view_GLES20Canvas_clearLayerUpdates(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer) { renderer->clearLayerUpdates(); Loading Loading @@ -1095,6 +1100,7 @@ static JNINativeMethod gMethods[] = { { "nClearLayerUpdates", "(I)V", (void*) android_view_GLES20Canvas_clearLayerUpdates }, { "nFlushLayerUpdates", "(I)V", (void*) android_view_GLES20Canvas_flushLayerUpdates }, { "nPushLayerUpdate", "(II)V", (void*) android_view_GLES20Canvas_pushLayerUpdate }, { "nCancelLayerUpdate", "(II)V", (void*) android_view_GLES20Canvas_cancelLayerUpdate }, { "nSetTextureLayerTransform", "(II)V", (void*) android_view_GLES20Canvas_setTextureLayerTransform }, Loading Loading
core/java/android/view/GLES20Canvas.java +6 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,11 @@ class GLES20Canvas extends HardwareCanvas { nPushLayerUpdate(mRenderer, ((GLES20RenderLayer) layer).mLayer); } @Override void cancelLayerUpdate(HardwareLayer layer) { nCancelLayerUpdate(mRenderer, ((GLES20RenderLayer) layer).mLayer); } @Override void flushLayerUpdates() { nFlushLayerUpdates(mRenderer); Loading Loading @@ -191,6 +196,7 @@ class GLES20Canvas extends HardwareCanvas { private static native void nClearLayerUpdates(int renderer); private static native void nFlushLayerUpdates(int renderer); private static native void nPushLayerUpdate(int renderer, int layer); private static native void nCancelLayerUpdate(int renderer, int layer); /////////////////////////////////////////////////////////////////////////// // Canvas management Loading
core/java/android/view/HardwareCanvas.java +13 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,19 @@ public abstract class HardwareCanvas extends Canvas { */ abstract void pushLayerUpdate(HardwareLayer layer); /** * Cancels a queued layer update. If the specified layer was not * queued for update, this method has no effect. * * @param layer The layer whose update to cancel * * @see #pushLayerUpdate(HardwareLayer) * @see #clearLayerUpdates() * * @hide */ abstract void cancelLayerUpdate(HardwareLayer layer); /** * Immediately executes all enqueued layer updates. * Loading
core/java/android/view/HardwareRenderer.java +16 −0 Original line number Diff line number Diff line Loading @@ -451,9 +451,20 @@ public abstract class HardwareRenderer { * @param layer The hardware layer that needs an update * * @see #flushLayerUpdates() * @see #cancelLayerUpdate(HardwareLayer) */ abstract void pushLayerUpdate(HardwareLayer layer); /** * Cancels a queued layer update. If the specified layer was not * queued for update, this method has no effect. * * @param layer The layer whose update to cancel * * @see #pushLayerUpdate(HardwareLayer) */ abstract void cancelLayerUpdate(HardwareLayer layer); /** * Forces all enqueued layer updates to be executed immediately. * Loading Loading @@ -2132,6 +2143,11 @@ public abstract class HardwareRenderer { mGlCanvas.pushLayerUpdate(layer); } @Override void cancelLayerUpdate(HardwareLayer layer) { mGlCanvas.cancelLayerUpdate(layer); } @Override void flushLayerUpdates() { mGlCanvas.flushLayerUpdates(); Loading
core/java/android/view/View.java +2 −0 Original line number Diff line number Diff line Loading @@ -12709,6 +12709,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (info != null && info.mHardwareRenderer != null && info.mHardwareRenderer.isEnabled() && (valid || info.mHardwareRenderer.validate())) { info.mHardwareRenderer.cancelLayerUpdate(mHardwareLayer); mHardwareLayer.destroy(); mHardwareLayer = null; Loading
core/jni/android_view_GLES20Canvas.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -911,6 +911,11 @@ static void android_view_GLES20Canvas_pushLayerUpdate(JNIEnv* env, jobject clazz renderer->pushLayerUpdate(layer); } static void android_view_GLES20Canvas_cancelLayerUpdate(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer, Layer* layer) { renderer->cancelLayerUpdate(layer); } static void android_view_GLES20Canvas_clearLayerUpdates(JNIEnv* env, jobject clazz, OpenGLRenderer* renderer) { renderer->clearLayerUpdates(); Loading Loading @@ -1095,6 +1100,7 @@ static JNINativeMethod gMethods[] = { { "nClearLayerUpdates", "(I)V", (void*) android_view_GLES20Canvas_clearLayerUpdates }, { "nFlushLayerUpdates", "(I)V", (void*) android_view_GLES20Canvas_flushLayerUpdates }, { "nPushLayerUpdate", "(II)V", (void*) android_view_GLES20Canvas_pushLayerUpdate }, { "nCancelLayerUpdate", "(II)V", (void*) android_view_GLES20Canvas_cancelLayerUpdate }, { "nSetTextureLayerTransform", "(II)V", (void*) android_view_GLES20Canvas_setTextureLayerTransform }, Loading