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]);
}
///////////////////////////////////////////////////////////////////////////////