Fix sorting uninitialized attribute semantics to the end.

A missing condition would produce a sort order where sometimes -1 was shifted
to the front of the semantic array, instead of the end.

BUG=angle:527

Change-Id: I69b2e5ccc03f6523771601cd59293d6cd325be2f
Reviewed-on: https://chromium-review.googlesource.com/180651
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index 005e319..7c8e466 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -3240,7 +3240,9 @@
 
     bool operator()(int a, int b)
     {
-        return originalIndices[a] == -1 ? false : originalIndices[a] < originalIndices[b];
+        if (originalIndices[a] == -1) return false;
+        if (originalIndices[b] == -1) return true;
+        return (originalIndices[a] < originalIndices[b]);
     }
 
     const int (&originalIndices)[MAX_VERTEX_ATTRIBS];