Presort reverse mapping of ProgramBinary::mSemanticIndex.
diff --git a/src/libGLESv2/ProgramBinary.h b/src/libGLESv2/ProgramBinary.h
index d972a93..579fb22 100644
--- a/src/libGLESv2/ProgramBinary.h
+++ b/src/libGLESv2/ProgramBinary.h
@@ -140,6 +140,7 @@
     unsigned int getSerial() const;
     int getShaderVersion() const;
 
+    void initAttributesByLayout();
     void sortAttributesByLayout(rx::TranslatedAttribute attributes[gl::MAX_VERTEX_ATTRIBS], int sortedSemanticIndices[MAX_VERTEX_ATTRIBS]) const;
 
     static std::string decorateAttribute(const std::string &name);    // Prepend an underscore
@@ -195,6 +196,7 @@
 
     sh::Attribute mLinkedAttribute[MAX_VERTEX_ATTRIBS];
     int mSemanticIndex[MAX_VERTEX_ATTRIBS];
+    int mAttributesByLayout[MAX_VERTEX_ATTRIBS];
 
     struct Sampler
     {