diff options
author | Chris Craik <ccraik@google.com> | 2013-03-22 10:00:48 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2013-03-22 11:54:51 -0700 |
commit | a4e16c58c9e3c983251e0475125a2a6f5bec2dbf (patch) | |
tree | b5c98f99fdc8a80188bf1bcf0fb959484a118735 /core/jni | |
parent | 1edaff0709bc3558a6736eac7fccbe8350f2d158 (diff) | |
download | frameworks_base-a4e16c58c9e3c983251e0475125a2a6f5bec2dbf.zip frameworks_base-a4e16c58c9e3c983251e0475125a2a6f5bec2dbf.tar.gz frameworks_base-a4e16c58c9e3c983251e0475125a2a6f5bec2dbf.tar.bz2 |
Restore final canvas state after deferred flush
bug:8450062
- Fixes overdraw indication with DeferredDisplayList
- Fixes drawHardwareLayer called after flush
Additionally changes drawLayer to pass its paint to native via setLayerPaint
Wrap flush in save/restore so that reordering doesn't affect final
transform
Change-Id: I08befa42c28500da6387699eefd4be28aedf9f4c
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android_view_GLES20Canvas.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index 3a23aa1..b87fe27 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -868,8 +868,7 @@ static void android_view_GLES20Canvas_destroyLayerDeferred(JNIEnv* env, } static void android_view_GLES20Canvas_drawLayer(JNIEnv* env, jobject clazz, - OpenGLRenderer* renderer, Layer* layer, jfloat x, jfloat y, SkPaint* paint) { - // TODO: don't pass the paint from java + OpenGLRenderer* renderer, Layer* layer, jfloat x, jfloat y) { renderer->drawLayer(layer, x, y); } @@ -1051,7 +1050,7 @@ static JNINativeMethod gMethods[] = { { "nClearLayerTexture", "(I)V", (void*) android_view_GLES20Canvas_clearLayerTexture }, { "nDestroyLayer", "(I)V", (void*) android_view_GLES20Canvas_destroyLayer }, { "nDestroyLayerDeferred", "(I)V", (void*) android_view_GLES20Canvas_destroyLayerDeferred }, - { "nDrawLayer", "(IIFFI)V", (void*) android_view_GLES20Canvas_drawLayer }, + { "nDrawLayer", "(IIFF)V", (void*) android_view_GLES20Canvas_drawLayer }, { "nCopyLayer", "(II)Z", (void*) android_view_GLES20Canvas_copyLayer }, { "nClearLayerUpdates", "(I)V", (void*) android_view_GLES20Canvas_clearLayerUpdates }, { "nPushLayerUpdate", "(II)V", (void*) android_view_GLES20Canvas_pushLayerUpdate }, |