Remove useless slot from ProgramVertex.  Optimize GL state setup.
diff --git a/rsProgramVertex.h b/rsProgramVertex.h
index da5ed81..c9ce7aa 100644
--- a/rsProgramVertex.h
+++ b/rsProgramVertex.h
@@ -23,21 +23,19 @@
 namespace android {
 namespace renderscript {
 
+class ProgramVertexState;
 
 class ProgramVertex : public Program
 {
 public:
-    const static uint32_t MAX_CONSTANTS = 2;
     const static uint32_t MAX_LIGHTS = 8;
 
     ProgramVertex(Element *in, Element *out);
     virtual ~ProgramVertex();
 
-    virtual void setupGL();
+    virtual void setupGL(ProgramVertexState *state);
 
 
-    void setConstantType(uint32_t slot, const Type *);
-    void bindAllocation(uint32_t slot, Allocation *);
     void setTextureMatrixEnable(bool e) {mTextureMatrixEnable = e;}
     void addLight(const Light *);
 
@@ -46,21 +44,15 @@
     void setTextureMatrix(const rsc_Matrix *) const;
 
 protected:
-    bool mDirty;
     uint32_t mLightCount;
-
-    ObjectBaseRef<Allocation> mConstants[MAX_CONSTANTS];
-    ObjectBaseRef<const Type> mConstantTypes[MAX_CONSTANTS];
     ObjectBaseRef<const Light> mLights[MAX_LIGHTS];
 
-
     // Hacks to create a program for now
     bool mTextureMatrixEnable;
-
 };
 
 
-class ProgramVertexState 
+class ProgramVertexState
 {
 public:
     ProgramVertexState();
@@ -69,8 +61,9 @@
     void init(Context *rsc, int32_t w, int32_t h);
 
     ObjectBaseRef<ProgramVertex> mDefault;
+    ObjectBaseRef<ProgramVertex> mLast;
     ObjectBaseRef<Allocation> mDefaultAlloc;
-    
+
 
 
     ProgramVertex *mPV;