make sure to destroy GL objects on the GL thread

Bug: 7195815
Change-Id: I5bcac61cd0b903d1ccca0754fdb9cb1023efbe0f
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index 898962a..4459495 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -232,7 +232,7 @@
     size_t count = mLayerGarbage.size();
     for (size_t i = 0; i < count; i++) {
         Layer* layer = mLayerGarbage.itemAt(i);
-        LayerRenderer::destroyLayer(layer);
+        delete layer;
     }
     mLayerGarbage.clear();
 
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 18d8324..81f7b94 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -326,8 +326,7 @@
             break;
             case kLayer: {
                 Layer* layer = (Layer*) resource;
-                layer->freeResourcesLocked();
-                delete layer;
+                Caches::getInstance().deleteLayerDeferred(layer);
             }
             break;
         }