Async drawing!

Change-Id: I7e728356f58af88174328a8c0b90d27b128bfe01
diff --git a/libs/hwui/Layer.h b/libs/hwui/Layer.h
index d8440ea..b428404 100644
--- a/libs/hwui/Layer.h
+++ b/libs/hwui/Layer.h
@@ -84,9 +84,9 @@
         regionRect.translate(layer.left, layer.top);
     }
 
-    void updateDeferred(OpenGLRenderer* renderer, RenderNode* displayList,
+    void updateDeferred(RenderNode* displayList,
             int left, int top, int right, int bottom) {
-        this->renderer = renderer;
+        requireRenderer();
         this->displayList = displayList;
         const Rect r(left, top, right, bottom);
         dirtyRect.unionWith(r);
@@ -300,6 +300,8 @@
     bool hasDrawnSinceUpdate;
 
 private:
+    void requireRenderer();
+
     Caches& caches;
 
     /**