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];