Use the specified Program instead of current in GetUniform.

This bug slipped in with the GetUniform validation refactor.

BUG=angle:571

Change-Id: I2b87e6fe98224ba99c5b21a71d66b197fd618741
Reviewed-on: https://chromium-review.googlesource.com/214872
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 6c1bc5b..2f5e24c 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -3141,7 +3141,9 @@
             return;
         }
 
-        gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
+        gl::Program *programObject = context->getProgram(program);
+        ASSERT(programObject);
+        gl::ProgramBinary *programBinary = programObject->getProgramBinary();
         ASSERT(programBinary);
 
         programBinary->getUniformfv(location, params);
@@ -3160,7 +3162,9 @@
             return;
         }
 
-        gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
+        gl::Program *programObject = context->getProgram(program);
+        ASSERT(programObject);
+        gl::ProgramBinary *programBinary = programObject->getProgramBinary();
         ASSERT(programBinary);
 
         programBinary->getUniformfv(location, params);
@@ -3180,7 +3184,9 @@
             return;
         }
 
-        gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
+        gl::Program *programObject = context->getProgram(program);
+        ASSERT(programObject);
+        gl::ProgramBinary *programBinary = programObject->getProgramBinary();
         ASSERT(programBinary);
 
         programBinary->getUniformiv(location, params);
@@ -3199,7 +3205,9 @@
             return;
         }
 
-        gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
+        gl::Program *programObject = context->getProgram(program);
+        ASSERT(programObject);
+        gl::ProgramBinary *programBinary = programObject->getProgramBinary();
         ASSERT(programBinary);
 
         programBinary->getUniformiv(location, params);
@@ -6399,7 +6407,9 @@
             return;
         }
 
-        gl::ProgramBinary *programBinary = context->getState().getCurrentProgramBinary();
+        gl::Program *programObject = context->getProgram(program);
+        ASSERT(programObject);
+        gl::ProgramBinary *programBinary = programObject->getProgramBinary();
         ASSERT(programBinary);
 
         programBinary->getUniformuiv(location, params);