Refactoring of Program ownership/lifecycle, and WIP Glop rendering path

Change-Id: I2549032790bddbc048b0bccc224ed8f386b4517c
diff --git a/libs/hwui/renderstate/RenderState.h b/libs/hwui/renderstate/RenderState.h
index 4180f44..2e28ff6 100644
--- a/libs/hwui/renderstate/RenderState.h
+++ b/libs/hwui/renderstate/RenderState.h
@@ -22,11 +22,12 @@
 #include <utils/Mutex.h>
 #include <utils/Functor.h>
 #include <utils/RefBase.h>
-
 #include <private/hwui/DrawGlInfo.h>
 #include <renderstate/Blend.h>
+
 #include "AssetAtlas.h"
 #include "Caches.h"
+#include "Glop.h"
 #include "renderstate/MeshState.h"
 #include "renderstate/PixelBufferState.h"
 #include "renderstate/Scissor.h"
@@ -83,6 +84,8 @@
     // more thinking...
     void postDecStrong(VirtualLightRefBase* object);
 
+    void render(const Glop& glop);
+
     AssetAtlas& assetAtlas() { return mAssetAtlas; }
     Blend& blend() { return *mBlend; }
     MeshState& meshState() { return *mMeshState; }
@@ -96,6 +99,9 @@
     void resumeFromFunctorInvoke();
     void assertOnGLThread();
 
+    void setupVertexAttributes(const Glop& glop);
+    void tearDownVertexAttributes(const Glop& glop);
+
     RenderState(renderthread::RenderThread& thread);
     ~RenderState();