Remove math from the vertex shader.

Change-Id: I02847a60a8734bf8b3d29ec12e76297795095e38
diff --git a/libs/hwui/Program.cpp b/libs/hwui/Program.cpp
index 819e736..98d254c 100644
--- a/libs/hwui/Program.cpp
+++ b/libs/hwui/Program.cpp
@@ -127,17 +127,17 @@
 void DrawColorProgram::getAttribsAndUniforms() {
     position = addAttrib("position");
     color = addUniform("color");
-    projection = addUniform("projection");
-    modelView = addUniform("modelView");
     transform = addUniform("transform");
 }
 
-void DrawColorProgram::use(const GLfloat* projectionMatrix, const GLfloat* modelViewMatrix,
-        const GLfloat* transformMatrix) {
+void DrawColorProgram::use(const float* projectionMatrix, const mat4& modelViewMatrix,
+        const mat4& transformMatrix) {
+    mat4 t(projectionMatrix);
+    t.multiply(transformMatrix);
+    t.multiply(modelViewMatrix);
+
     Program::use();
-    glUniformMatrix4fv(projection, 1, GL_FALSE, projectionMatrix);
-    glUniformMatrix4fv(modelView, 1, GL_FALSE, modelViewMatrix);
-    glUniformMatrix4fv(transform, 1, GL_FALSE, transformMatrix);
+    glUniformMatrix4fv(transform, 1, GL_FALSE, &t.data[0]);
 }
 
 ///////////////////////////////////////////////////////////////////////////////