Return a program binary size of 0 when the program is not linked.

From the GLES3 spec:
"... When a program object's LINK_STATUS is FALSE, its program binary
length is zero ..."

Querying the size was generating errors in the GL backend.

BUG=angleproject:2569

Change-Id: I1be511040331abaec2bba98502d8aa88fb4bd19c
Reviewed-on: https://chromium-review.googlesource.com/1076317
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index e0a697e..7a736e0 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -1401,6 +1401,11 @@
 
 GLint Program::getBinaryLength(const Context *context) const
 {
+    if (!mLinked)
+    {
+        return 0;
+    }
+
     GLint length;
     Error error = saveBinary(context, nullptr, nullptr, std::numeric_limits<GLint>::max(), &length);
     if (error.isError())