Use the count parameter to store all the uniform vectors, not just the first one. DO NOT MERGE.

Change-Id: Ib56d859051f0b895de5c12ffa371cd4b2b65ac0b
(cherry picked from commit 31b0aec64ba44b1ee0581e00a588d84f4b081512)
diff --git a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
index 2e7aa20..e6d0062 100644
--- a/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
+++ b/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
@@ -297,14 +297,18 @@
     arg_strpp->add_charvalue(src);
 }
 
-void fixup_glUniformGenericInteger(int argIndex, int nIntegers, GLMessage *glmsg,
+void fixup_glUniformGenericInteger(int argIndex, int nElemsPerVector, GLMessage *glmsg,
                                                                     void *pointersToFixup[]) {
     /* void glUniform?iv(GLint location, GLsizei count, const GLint *value); */
-    fixup_GenericIntArray(argIndex, nIntegers, glmsg, pointersToFixup[0]);
+    GLMessage_DataType arg_count  = glmsg->args(1);
+    int n_vectors = arg_count.intvalue(0);
+    fixup_GenericIntArray(argIndex, nElemsPerVector * n_vectors, glmsg, pointersToFixup[0]);
 }
 
-void fixup_glUniformGeneric(int argIndex, int nFloats, GLMessage *glmsg, void *src) {
-    fixup_GenericFloatArray(argIndex, nFloats, glmsg, src);
+void fixup_glUniformGeneric(int argIndex, int nElemsPerVector, GLMessage *glmsg, void *src) {
+    GLMessage_DataType arg_count  = glmsg->args(1);
+    int n_vectors = arg_count.intvalue(0);
+    fixup_GenericFloatArray(argIndex, nElemsPerVector * n_vectors, glmsg, src);
 }
 
 void fixup_glUniformMatrixGeneric(int matrixSize, GLMessage *glmsg, void *pointersToFixup[]) {