Fix emulated glColor in es2 mode.
diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp
index 058cd73..153e2d6 100644
--- a/libs/rs/rsProgramVertex.cpp
+++ b/libs/rs/rsProgramVertex.cpp
@@ -158,6 +158,8 @@
         //return;
     }
 
+    glVertexAttrib4f(1, state->color[0], state->color[1], state->color[2], state->color[3]);
+
     const float *f = static_cast<const float *>(mConstants->getPtr());
 
     Matrix mvp;
@@ -259,6 +261,11 @@
     pv->init(rsc);
     pv->bindAllocation(alloc);
 
+    color[0] = 1.f;
+    color[1] = 1.f;
+    color[2] = 1.f;
+    color[3] = 1.f;
+
     updateSize(rsc, w, h);
 }
 
diff --git a/libs/rs/rsProgramVertex.h b/libs/rs/rsProgramVertex.h
index 4748acc..8c63d82 100644
--- a/libs/rs/rsProgramVertex.h
+++ b/libs/rs/rsProgramVertex.h
@@ -79,6 +79,7 @@
     ObjectBaseRef<Type> mAllocType;
 
 
+    float color[4];
 };
 
 
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index 55a8391..878ec60 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -842,6 +842,10 @@
 static void SC_color(float r, float g, float b, float a)
 {
     GET_TLS();
+    rsc->mStateVertex.color[0] = r;
+    rsc->mStateVertex.color[1] = g;
+    rsc->mStateVertex.color[2] = b;
+    rsc->mStateVertex.color[3] = a;
     if (rsc->checkVersion2_0()) {
         glVertexAttrib4f(1, r, g, b, a);
     } else {