Cleanup GL objects on the correct thread.
Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp
index d6991e6..4aed9b1 100644
--- a/core/jni/android_view_GLES20Canvas.cpp
+++ b/core/jni/android_view_GLES20Canvas.cpp
@@ -501,6 +501,11 @@
LayerRenderer::destroyLayer(layerId, layerTextureId);
}
+static void android_view_GLES20Canvas_destroyLayerDeferred(JNIEnv* env,
+ jobject clazz, jint layerId, jint layerTextureId) {
+ LayerRenderer::destroyLayerDeferred(layerId, layerTextureId);
+}
+
static void android_view_GLES20Canvas_drawLayer(JNIEnv* env,
jobject canvas, OpenGLRenderer* renderer,
jfloat left, jfloat top, jfloat right, jfloat bottom,
@@ -593,13 +598,14 @@
{ "nGetDisplayListRenderer", "(I)I", (void*) android_view_GLES20Canvas_getDisplayListRenderer },
{ "nDrawDisplayList", "(II)V", (void*) android_view_GLES20Canvas_drawDisplayList },
- { "nInterrupt", "(I)V", (void*) android_view_GLES20Canvas_interrupt },
- { "nResume", "(I)V", (void*) android_view_GLES20Canvas_resume },
+ { "nInterrupt", "(I)V", (void*) android_view_GLES20Canvas_interrupt },
+ { "nResume", "(I)V", (void*) android_view_GLES20Canvas_resume },
{ "nCreateLayerRenderer", "(I)I", (void*) android_view_GLES20Canvas_createLayerRenderer },
{ "nCreateLayer", "(II[I)I", (void*) android_view_GLES20Canvas_createLayer },
{ "nResizeLayer", "(IIII[I)V", (void*) android_view_GLES20Canvas_resizeLayer },
{ "nDestroyLayer", "(II)V", (void*) android_view_GLES20Canvas_destroyLayer },
+ { "nDestroyLayerDeferred", "(II)V", (void*) android_view_GLES20Canvas_destroyLayerDeferred },
{ "nDrawLayer", "(IFFFFIFFI)V",
(void*) android_view_GLES20Canvas_drawLayer },